2013-10-30 2 views
2

내 기능 브랜치에서 git pull --rebase을 실행하면 편집하지 않은 많은 파일에서 충돌이 발생합니다. 이러한 충돌을 없애기 위해 각 충돌 파일마다 다음 명령 집합을 실행합니다.rebase 충돌을 쉽게 해결합니다.

git checkout --ours . 

git add . 

git rebase --continue 

성가신 부분은 모든 충돌에 대해이를 실행해야합니다. 위의 모든 명령이 즉시 실행되도록 git를 사용자 정의 명령으로 구성하는 방법이 있습니까?

뭔가 같은 :

If(featureBranch_04) { 
    foreach(conflicts) 
     if(conflictedFile != index.jsp) { 
      git checkout --ours . 
      git add . 
      git rebase --continue 
     } 
    } 
} 

내가 자식 설정에서 유사한 기능을 할 수 있습니까?

워크 플로는 다음과 같습니다. 먼저 master 브랜치를 에 병합 한 다음 featureBranch_04 분기의 git pull --rebase에 병합합니다.

+2

왜 처음에는'git pull --rebase'을하고 있습니까? 왜'git pull'을 한 다음 나중에 분기를 rebase하지 않을까요? –

답변

2

당신은 시도해 볼 수도 있습니다하십시오 REBASE의 병합 부분

git fetch 
git rebase -s recursive -X theirs origin/featureBranch_04 

그 것 pass the merge strategy 'theirs'을.

+0

rebase가 "ours/theirs"감각을 되 돌리면 "theirs/theirs"감각이 바뀌지 않는다는 것을 감안할 때, 또는 rebase가 sense-swap과 일치하도록 사용자 제공 인수를 변경합니까? – torek

+0

@ 토크 감사합니다. 결정된. 나는 이것을 알아야했는데, 나는 이것을 광범위하게 썼다 : http://stackoverflow.com/a/3052118/6309 – VonC