
내 저장소에서는 사용자 정의 병합 드라이버와 .gitattributes를 사용하여 버전이 지정된 일부 파일이 병합되지 않도록 하는 새롭고 흥미로운 전략을 구현하고 있습니다. 이것을 봐주세요:
http://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Merge-Strategies
하지만 저장소/브랜치에서 이미 추적된 파일에 적용하면 작동하지 않는 것으로 나타났습니다. 작동하려면 저장소/브랜치에 파일을 추가하기 전에 .gitattributes에 경로를 정의하거나 파일을 삭제하고 다시 추가해야 합니다.
큰 문제는 아니지만 이런 동작이 나타나는 이유가 궁금합니다. 아는 사람 있나요?
답변1
내 경험에 따르면 규칙은 일반적으로 저장소에 이미 있는 파일에 소급 적용되지 않습니다. 특정 패턴을 가진 파일을 무시하려고 할 때에도 git
여기에서 볼 수 있는 것과 동일한 현상이 발생합니다 .mercurial
내가 보기에 WRT에서 파일을 무시하는 것의 장점은 포함해야 하는 파일을 수동으로 추가하여 표준 규칙을 쉽게 재정의할 수 있다는 것입니다.
병합 정책을 변경하는 경우 모든 파일을 한 번에 변경하면 몇 가지 이점이 있을 수 있습니다. git
이를 적용하기 위해 일종의 강제 옵션을 사용하는 대신 파일을 강제로 제거하고 다시 추가해야 하는 이유가 확실하지 않습니다. 있지만 하나도 없습니다.) 정글에서 git 문서라고 불리는 것을 찾았습니다.