2009-10-20 2 views
18

충돌이 병합되면 git이 파일 집합에 대해 하나의 버전을 유지하도록 알려줄 수 있습니까?git merge : 일부 파일의 경우 한쪽 유지, 나머지는 수동으로 병합

git checkout some_branch 
git merge origin/master 
<conflicts!> 
git checkout --theirs -- <dir>|<file> 

(물론, --ours 현재 지점에서 버전을 유지) : 이미 병합을 시도했습니다과 병합되지 않은 파일에서 찾는 경우

$ git checkout some_branch 
$ git merge origin/master 
$ ? 

답변

42

, 당신은 자식 체크 아웃을 사용할 수 있습니다

+0

답변 해 주셔서 감사합니다. 나는 그것을 시험해 보았다. 충돌 한 파일을 모두 "수정 된 파일"또는 "둘다 추가 된 파일"로 모두 * 표시한다. 처음봤을 때, 어떤 포인터라도? 차이점이있는 경우를 대비하여 내 지점이 서로 다른 지점간에 병합됩니다. – Ivan

+0

차이점은 없습니다. pull은 그냥 fetch + merge입니다. 상태와 관련하여 - 병합되지 않은 파일은 모두 "병합되지 않은 경로"섹션에서 "모두 수정 됨"으로 시작해야합니다. git 체크 아웃 후에 파일을 검사하면 표시된 버전으로 대체되었음을 알 수 있습니다. git-add 명령으로 추가해야하는데, 그 시점에서 "Committed to be committed"섹션으로 녹색으로 이동하게됩니다. 나는 이전에 적색으로 "둘 다 추가 된"것을 본 적이 없다. – Cascabel

+0

그래, 나는 그것에 대해 혼란스러워했다. 나는'git checkout -theirs master

'와 같이 조금 수정해야했다. 다시 한번 감사드립니다. – Ivan

관련 문제