2012-08-31 7 views
2

다른 컴퓨터에서 Kile을 사용하여 작성한 큰 LaTeX 문서를 추적하려면 git을 사용하고 있습니다.힘내 : 특정 파일에 대한 설정에 병합 규칙을 추가하십시오.

Kile은 Kile을 닫을 때 .kilepr 설정 파일에 기록합니다. 자주 만나는 문제는 전에 Kile 닫기 전에 커밋한다는 것입니다. 그래서 나는 다른 컴퓨터에서 커밋하고 밀고, 작업하고, 돌아오고 싶을 때 .kilepr 파일에 커서 위치 (분명히 변경됨)가 있기 때문에 병합 충돌이 발생합니다.

내 질문 : 특정 파일에 대해 자식 설정에 병합 규칙을 추가하는 방법이 있습니까 (항상 - 해당 항목)? .kilepr 파일에 프로젝트의 파일과 같은 중요한 정보가 들어 있으므로 .gitignore을 사용하는 것은 옵션이 아닙니다.

답변

1

merge -s를 시뮬레이트하는 모든 가능한 방법은 "git command for making one branch like another"에 나열됩니다.

그러나 하나 개의 파일에 대해, 당신이 필요 같은 keepTheir 스크립트를하는 .gitattributes 파일에 선언 병합 드라이버입니다 : (사용자 정의 통합 드라이버의 구체적인 예를 들어, "git merge -s theirs” needed — but I know it doesn't exist"을 참조하십시오

mv -f $3 $2 
exit 0 

my own version 포함).

+0

이 기능은 Windows 및 Linux ('mv' 명령)에서 작동합니까? – user334287

+0

@ user334287 msysgit에 포함 된 msys bash에 의해 실행됩니다. – VonC

0

2018 솔루션 : 병합 드라이버 자식 설정에서

을 사용자 정의 추가 병합 할 수 있습니다 드라이버 :

[merge "my-custom-driver"] 
    name = A custom merge driver used to resolve conflicts in certain files 
    driver = my-merge-tool.sh %O %A %B 

하지만 당신은 또한 단지 항상 로컬 변경 사항을 유지합니다 드라이버 '사실'반환 할 수 있습니다

.gitattributes에서 다음
[merge "keep-local-changes"] 
    name = A custom merge driver which always keeps the local changes 
    driver = true 

당신이 파일 형식은 사용자 정의 드라이버를 병합하는 사용하는 정의 할 수 있습니다

/folder/**/*.fileExtension merge=keep-local-changes 
관련 문제