2016-10-20 2 views
0

이제 병합 상태가되었습니다. 모든 변경 사항을 취소하고 병합하기 전에 상태 인 으로 다시 병합하고 병합을 다시 수행하면 "이미 최신"이라고 표시됩니다. 좋은 방법이 있나요?힘내 : 커밋과 병합 충돌을 버리는 방법

내 시도 : git reset --hard head 하지만 다시 병합 할 때 여전히 충돌합니다. 내가해야 할 일은 수동으로 모든 변경 사항을 되돌리고 빈 커밋을하는 것입니다. 매우 지루합니다.

+0

가능한 복제본 [병합 충돌이 발생했습니다. 어떻게 내가 병합을 중단 할 수 있습니까?] (http://stackoverflow.com/questions/101752/i-ran-into-a-merge-conflict-how-can-i-abort-the-merge) –

답변

1

당신이 병합을 원한다고 생각했기 때문에, 모든 충돌에 대해, 당신이 병합하고있는 것이 아닌 원래의 지점에있는 버전으로 대체하십시오.

그런 경우에는, 가나 확인, -Xours

git merge -Xours <name of your other branch> 

더 참고 -Xtheirs

와 다른 지점의 충돌 변화에 다시 하락의 옵션도있다 사용해 볼 수 있습니다 git's advanced merging docs

+1

'- X ours' (공간의 유무에 관계없이)는 * file *이 아닌 * our * change *를 사용합니다. 예를 들어, 파일'README'에서 가정하면, 17 행에서'color'를'colour'로 변경하고 같은 줄에서'red'를'green'으로 변경했습니다. 이러한 충돌 때문에'-X 우리 '는'붉은 색'으로 유지합니다. 그 사이에 우리는 34 행을 '녹색 점'으로 되돌리기로 바꾸 었는데, 우리는 만지지 않았습니다. 그래서 17 행은 '붉은 색'이라고 말하지만 34 행은 '녹색 점'을 가리 킵니다. – torek

+0

@ 토렉 당신 말이 맞아요, 고마워요! 이를 반영하기 위해 응답을 편집했습니다. – fmello

0

시도하십시오 git merge --abort

현재 병합을 중단하고 네가 있던 곳으로 데려다 준다.