Development Tip

충돌이있는 자식 병합을 실행 취소하는 방법

yourdevel 2020. 9. 29. 18:47
반응형

충돌이있는 자식 병합을 실행 취소하는 방법


나는 지점에 mybranch1있습니다. mybranch2에서 분기되고에서 mybranch1변경되었습니다 mybranch2.

그런 다음에있는 동안 mybranch1, 나는했던 git merge --no-commit mybranch2그것은 병합 중에 충돌이 있었다 보여줍니다.

이제 나는 모든 것을 버리고 싶습니다 ( merge명령) mybranch1. 어떻게해야할지 모르겠습니다.


최신 Git :

git merge --abort

이렇게하면 작업 복사본을 병합 이전 상태로 재설정하려고합니다. 즉, 항상 안정적으로 수행 할 수는 없지만 병합 전부터 커밋되지 않은 변경 사항을 복원해야합니다. 일반적으로 커밋되지 않은 변경 사항과 병합해서는 안됩니다.

1.7.4 이전 버전 :

git reset --merge

이것은 이전 구문이지만 위와 동일합니다.

버전 1.6.2 이전 :

git reset --hard

커밋되지 않은 병합을 포함하여 커밋되지 않은 모든 변경 사항을 제거합니다. 이 동작은 위의 명령을 지원하는 최신 버전의 Git에서도 유용합니다.


실제로 주어진 git merge --abort것과 동일한 것이 존재 git reset --merge한다는 것을 알아 차릴 가치 MERGE_HEAD가 있습니다. 이것은 merge 명령에 대한 git 도움말에서 읽을 수 있습니다.

git merge --abort # is equivalent to git reset --merge when MERGE_HEAD is present.

더있을 때 실패한 병합 한 후 MERGE_HEAD, 실패한 병합으로 취소 할 수 없다 git reset --merge반드시으로하지만 git merge --abort, 그들은 같은 일에 대한 이전 및 새 구문뿐만 아니라 그래서 .

개인적으로 나는 git reset --merge일상 업무에서 훨씬 더 유용하다고 생각 합니다.


최신 git을 사용한다고 가정하면,

git merge --abort

참고 URL : https://stackoverflow.com/questions/5741407/how-to-undo-a-git-merge-with-conflicts

반응형