Menu
Coddy logo textTech

Git: 병합 중단하기

마지막 업데이트

git merge가 충돌에 부딪혀서 이를 해결하기보다 물러나고 싶다면, git merge --abort가 병합을 취소하고 브랜치를 시작하기 전과 정확히 같은 상태로 복원합니다. 잘못된 병합에서 빠져나오는 깔끔한 탈출구입니다.

이미 완료된 병합은 다른 방법으로 되돌립니다 - 아래를 참조하세요. 이 명령어들을 터미널 플레이그라운드에서 사용해 보세요 - 브라우저 안의 실제 셸입니다.

git merge --abort는 충돌 난 병합을 취소하고 브랜치를 병합 시작 전 상태로 되돌립니다.

구문

CommandWhat it does
git merge --abort충돌이 발생한 병합을 취소하고 병합 이전 상태로 복원합니다
git reset --merge더 오래된 동등한 방법 - 병합을 중단하고 재설정합니다
git merge --quit병합에서 빠져나오되 작업 트리는 그대로 유지합니다

이미 완료된 병합 되돌리기

중단과는 다릅니다 - 병합 커밋이 이미 존재합니다.

SituationCommand
병합이 로컬이며 푸시되지 않음git reset --hard ORIG_HEAD
병합이 이미 푸시됨git revert -m 1 <merge-hash>

Git 병합 중단 FAQ

진행 중인 병합을 어떻게 취소하나요?
git merge --abort를 실행하세요. 충돌 때문에 병합이 중단되었고 이를 해결하고 싶지 않다면, 이 명령은 전체 작업을 취소하고 브랜치와 작업 트리를 병합이 시작되기 전과 정확히 같은 상태로 되돌립니다.
git merge --abort와 git reset --merge의 차이점은 무엇인가요?
둘은 본질적으로 같은 일을 합니다 - 진행 중인 병합을 취소하고 병합 이전 상태를 복원합니다. git merge --abort는 이 목적을 위해 만들어진 최신 명령이고, git reset --merge는 여전히 작동하는 오래된 방식입니다. 명확성을 위해 git merge --abort를 사용하는 것이 좋습니다.
이미 완료된 병합을 어떻게 되돌리나요?
병합 커밋이 이미 존재하므로 이것은 중단이 아닙니다. 병합이 로컬에만 있다면 git reset --hard ORIG_HEAD가 브랜치를 병합 이전 위치로 되돌립니다. HEAD~1이 통하지 않는 fast-forward 이후에도 작동합니다. 다만 커밋하지 않은 작업은 버려지므로 먼저 git status를 확인하세요. 이미 병합을 푸시했다면, 공유된 히스토리를 다시 쓰지 않고 되돌리도록 git revert -m 1 <merge-hash>를 사용하세요.
병합을 중단하면 다른 변경 사항이 사라지나요?
git merge --abort는 병합 직전 상태를 복원하므로 병합의 변경 사항은 버려지지만, 커밋한 본인의 작업은 그대로 유지됩니다. 병합을 시작하기 전에 커밋하지 않은 변경 사항이 있었다면 먼저 커밋하거나 stash하세요 - 중단은 병합 이전의 커밋 상태를 복원합니다.
이것을 온라인에서 연습할 수 있나요?
네. 터미널 플레이그라운드를 열어 브라우저 안의 실제 셸에서 git merge --abort를 실행할 수 있습니다 - 설치할 것이 없습니다. Coddy의 무료 대화형 Git 강좌에서도 병합과 충돌 해결을 단계별로 다룹니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기