2012-09-17 4 views
0

본사에서 개발 중이며 나머지 팀은 현장에 있습니다.Git에서 이전 커밋의 변경 사항을 병합하거나 동일한 결과를 얻으려면 어떻게해야합니까?

data source=server\instance

하려면 :

data source=.

문제는 이후 현재 내 환경은 모든 작품은 내가 같은에서 내 모든 연결 문자열을 변경 제공하도록 데이터베이스의 로컬 복사본에 설정입니다 모든 로컬 병합 나는 여러 파일에 동일한 변경 사항을 다시 적용해야합니다.

내 목표는 Git의 변경 사항을 병합하여 이러한 변경 사항을 쉽게 적용 할 수있는 좋은 방법이 있는지 알아 보는 것입니다.

첫 번째 단계로서, 필자는 로컬 복사본에 설정 파일을 변경하기로했습니다. 내 첫 번째 생각은 내가 할 수있는 체리 - 그 지역의 변경 사항을 되돌릴 수있는 선택,하지만 지금 나는 그것을보고있어 그리고 어떻게 진행할지 모르겠다.

누군가 Git에서 이와 같은 구성 문제를 해결 했습니까? 그렇다면 어떻게 했습니까?

나는 기능이 "일시적으로 파일 집합에 변경 사항 집합을 병합 한 다음 되돌리기"라고 생각합니다.

+0

일반적으로 환경 별 구성을 저장소에 보관하지 않지만 각 컴퓨터마다 다릅니다. 각 시스템에는 고유 한 구성 파일 세트가 있으며 repo에는 "기본"구성 파일, 즉 템플리트가 있습니다. – jeremyharris

+0

나는 그 생각을 향해 몸을 기울이고 있었다. 다른 누군가가 똑같이 느낀 것을 듣기 좋다. –

+0

템플릿 파일 대신 환경 변수로 작업하거나 두 가지 솔루션을 결합 할 수도있다. – ksol

답변

2

구성 정보를 해당 구성의 코드와 완전히 별도로 보관하는 것을 선호하지만 움직이는 대상 위에 패치 시리즈를 유지 관리하는 기존 솔루션이 있습니다. guilt은 인기있는 패치 관리 시스템 인 Quilt에 대한 git 기반 작업 방식입니다.

내가 동의하는 표준 응답은 다음과 같습니다. 설정 파일을 커밋하지 말고 템플릿 개의 설정 파일을 커밋하십시오.

개인적으로, 나는이 진언의 약간 수정 된 버전을 선호 :

  • 는, 설정 파일을 커밋 기본적으로는 config 파일 자체와 같은 형식으로 지정되어를 저지하지 않습니다.
  • 구조는 기본적으로 동의하지 않는 설정 만 지정하는 파일로 기본값을 재정의 할 수있는 방식으로 응용 프로그램을 구성합니다. 이렇게하면 추가 구성이 로컬 구성의 존재로 인해 무시되지 않고 시간이 지남에 따라 지정 될 수 있습니다. 이렇게하면 실제로 기본값과 병합 할 때 얻을 수있는 이점 중 일부 (전부는 아님)가 제공됩니다.
  • "코드와 함께 구성을 커밋하지 마십시오"는 "설정 파일을 버전 화하지 마십시오"라는 것을 의미하지 않는다는 점을 항상 기억하십시오. 개별적으로 버전을 지정할 수 있습니다. 가장 작은 하위 집합 만 버전이 변경되지 않도록 "비밀"정보를 구성과 별도로 저장할 수 있도록 항상 응용 프로그램을 구성하십시오.
관련 문제