나는 지점에 mybranch1
있습니다. mybranch2
에서 분기되었으며에서 mybranch1
변경되었습니다 mybranch2
.
그런 다음에있는 동안 mybranch1
, 나는했던 git merge --no-commit mybranch2
그것은 병합 중에 충돌이 있었다 보여줍니다.
이제 모든 것을 ( merge
명령) 버려서 mybranch1
이전 상태로 되돌리고 싶습니다 . 어떻게해야할지 모르겠습니다.
답변
최신 힘내 :
git merge --abort
이렇게하면 작업 복사본을 병합하기 전의 상태로 재설정합니다. 즉, 병합 전에 항상 커밋되지 않은 변경 사항을 복원해야하지만 항상 안정적으로 수행 할 수는 없습니다. 일반적으로 커밋되지 않은 변경 사항과 병합하지 않아야합니다.
버전 1.7.4 이전 :
git reset --merge
이것은 오래된 구문이지만 위와 동일합니다.
버전 1.6.2 이전 :
git reset --hard
커밋되지 않은 병합을 포함하여 커밋되지 않은 모든 변경 사항을 제거합니다. 때때로이 동작은 위 명령을 지원하는 최신 버전의 Git에서도 유용합니다.
답변
실제로, 그것이 주어진 주어진 git merge --abort
것과 동등한 것에 주목할 가치 가 있습니다. 이것은 git help for merge 명령에서 읽을 수 있습니다.git reset --merge
MERGE_HEAD
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 merge --abort
답변
먼저 명령으로 병합을 실행 취소 할 수있는 두 가지가 있습니다.
git merge --abort
또는
명령으로 이전 커밋 상태로 일시적으로 이동할 수 있습니다.
git checkout 0d1d7fc32
답변
소스 트리
병합을 커밋하지 않으면 다른 브랜치를 두 번 클릭하고 (= 체크 아웃) 소스 트리에서 모든 변경 사항을 취소하는 것에 대해 물으면 동의합니다.