git merge 취소

일반적으로 Git에서 merge 작업은 변경 사항을 현재 브랜치에 병합하는 데 사용됩니다. 그러나 때로는 잘못 병합된 작업을 되돌리고자 할 수도 있습니다. 이러한 경우 아래와 같은 방법을 사용하여 Git merge를 취소할 수 있습니다.

1. Git merge 취소하기

만약 merge 작업 후에 아직 commit을 하지 않았다면, 간단하게 git merge --abort 명령을 사용하여 merge를 취소할 수 있습니다. 이 명령은 현재 작업 중인 브랜치로 돌아가고, 병합 작업의 변경 사항을 버립니다.

git merge --abort

2. Git merge 회복하기

merge 작업을 commit하여 브랜치에 반영한 경우에는 git reflog 명령을 사용하여 commit 로그를 확인할 수 있습니다. 이 명령은 브랜치와 HEAD의 움직임을 로그로 보여주며, merge 작업을 취소하기 위해 필요한 commit 해시값을 찾을 수 있습니다.

git reflog

해당 커밋의 해시값을 얻었다면, git reset 명령을 사용하여 돌아가고자 하는 커밋으로 HEAD를 이동시킬 수 있습니다.

git reset --hard <commit 해시값>

커밋 해시값을 명확히 지정하여 reset 명령을 실행하면 해당 커밋과 이후의 커밋들이 삭제됩니다. 따라서 주의해야 합니다.

이렇게 하면 merge 작업을 되돌릴 수 있습니다.

마무리

Git에서 merge 작업을 취소하는 방법에 대해 알아보았습니다. 예기치 않은 merge 결과로 인해 문제가 발생할 수 있으므로 작업을 확실히 이해하고 사용하는 것이 중요합니다.