SO에 대한 이 질문에 설명된 시나리오와 같습니다. http://stackoverflow.com/questions/928646/how-do-i-tell-git-to-always-select-my-local-version-for-conflicted-merges-on-a-sp
두 개의 분기가 있으며 각 분기는 서로 다른 구성을 사용합니다. 예를 들면 다음과 같습니다.
으아악개발 브랜치의 기능을 릴리스 브랜치에 병합해야 할 때 구성 파일이 병합되는 것을 원하지 않습니다.
여러 가지 해결책이 있습니다:
참고:
http://stackoverflow.com/questions/928646/how-do-i-tell-git-to-always-select-my-local-version-for-conflicted-merges-on-a-sp
http://stackoverflow.com/questions/2250040/using-github-to-host-public-git-repositories-whilst-ensuring-that-sensitive-data#
http://blog.miniasp.com/post/2014/12/23/Git-Advanced-Assume-Unchanged-Skip-worktree.aspx
다른 환경에 대한 구성 파일을 다른 파일에 배치하면 유지 관리가 더 쉽습니다
으아악환경 판단은 코드에서 이루어지며(일반적인 방법에는 IP, 호스트 이름, 환경 변수 등이 포함됨) 다양한 구성을 별도로 읽습니다
추가 솔루션은 구성 발행을 담당하는 전용 구성 센터와 구성을 가져오고, 구성을 캐시하고, 구성 업데이트 등을 위해 센터와 협력하기 위해 구성 센터를 찾는 일을 담당하는 상주 엘프를 두는 것입니다.
한마디로, 서로 다른 브랜치를 통해 서로 다른 환경의 구성을 유지하면 절반의 결과, 두 배의 결과를 얻을 수 있다고 개인적으로 생각합니다... 테스트 환경, 사전 출시 환경, 어쩌면 단위 테스트 환경까지 추가하면, 샌드박스 환경 등 구성이 3개 이상 있으면 계속 브랜치 유지관리를 하면 기본적으로 무너지는데... 부득이하게 해야 한다면
을 읽어보세요.phpunit.xml.dist
형식을 흉내내는 걸 추천하고, gitignore outconfig.txt
, 그리고 공식config.txt.dist
을 유지하세요. 코드에서config.txt
를 먼저 읽고config.txt.dist