2012-03-14 2 views
11

git rebase는 충돌 표시를 파일에 인라인으로 남겨 둡니다. something :git rebase처럼 인라인 충돌 마커를 적용 할 수 있습니까?

git apply를 사용하여 git format-patch로 만든 패치를 적용하면 기본적으로 모든 파일이 수정되지 않습니다. 나는 그것을 줄 수있다. --reject는 해결할 수없는 충돌이있는 것들을위한 .rej 파일들을 만들 것이지만, 정말로, 파일을 수정하고, git rebase가하는 모든 상태를 떠나서 파일을 열 수 있기를 바란다. 수동으로 병합 한 다음 git을 추가하고 계속 적용하려면 git apply 명령을 내린다. 이 일을 할 수있는 방법이 있을까요? 나를 위해

답변

6

다음 작품 : 그 file

git init 
seq 1 30 > file 
git add file 
git commit -m 1-30 
sed -i '13a13.4' file 
git commit -m 'add 13.4' file 
git format-patch -1 
git reset --hard HEAD^ 
sed -i 13d file 
git commit -m 'remove 13' file 
git am -3 0001-add-13.4.patch 

충돌 마커를 가지고 있습니다. 그것은 git apply 대신에 git am -3을 사용합니다.

+0

흠 - 참으로 내가 원하는거야 일을 할 것 같다 않는 흥미 롭군요. git이 git apply로 사용되었다고 생각합니다. 아마도 git apply의 명령 행 옵션을 통해 액세스 할 수없는 내부 API를 사용했을 것입니다. 감사! – kcstrom

3

를 사용하여 세 가지 방법 병합과 함께 옵션 :

git apply -3 0001-patch.patch 
관련 문제