2014-06-09 2 views
0

변경 여부에 관계없이 특정 파일을 덮어 쓰는 것을 무시하고 싶습니다. 나는 /etc/gitconfig에 다음과 같은 한 : 내 힘내 병합 전략이 무시되는 이유는 무엇입니까?

[merge "ours"] 
     driver = true 

그리고 저장소 자체

, .git/info/attributes에 :

files/somefile.txt merge=ours 

을 그러나, 나는 git pull를 실행할 때 somefile.txt 파일에 관계없이 덮어 쓰기되고있다. 내가 잘못 구성했거나 제대로 이해하지 못하는 것이 있습니까?

답변

2

merge=ours은 실제로 병합이 필요한 경우에만 적용됩니다. 즉, 양쪽에 파일이 변경된 경우에만 적용됩니다. 로컬로 수정되지 않은 경우 원격 업데이트에서 파일을 보호하지 않습니다. 이 경우 git은 정상적인 방법으로 간단히 체크 아웃합니다. 결코 파일 병합을 시작하지 않으므로 병합 전략을조차 알지 못합니다. https://stackoverflow.com/a/22085876/1737957

당신이 파일의 로컬 버전을 유지하는 대신 무시 목록 사용해야합니다

이 답변을 참조하십시오? 이것은 모든 컴퓨터에서 파일이 다르거 나 변경 사항을 공유 할 필요가없는 경우 사용해야하는 것입니다.

+0

기본적으로 특정 버전의 파일을 저장소에 포함 시키려면 사람들이 파일을 볼 때 복제본을 볼 때 변경 사항이 적용될 때 특정 컴퓨터에서 무시할 수 있습니다. – LeonardChallis

+0

확인 기본적으로 그 대답은 불가능하다고 말하고 싶습니다 : P 감사합니다. – LeonardChallis

+1

아마 체크 아웃하지 않은 로컬 설정 파일과 조건 섹션을 가지고있는 일반 설정 파일을 약간 수정하면됩니다. – jwg

관련 문제