본문 바로가기

IT/Git

[Git] 병합 취소하기

 

[Git 정리] 병합 취소하기

"브랜치 병합" 글에서 merge 도중 --abort를 통해 병합을 취소할 수 있다는 것을 알게되었습니다. 이번 글에선 병합이 완료된 경우 병합을 취소하는 방법을 정리합니다. reset을 이용한 병합 취소 병

velog.io

reset을 이용한 병합 취소

병합이 일어난 직후엔 git엔 ORIG_HEAD라는 새로운 참조 commit을 가집니다. 혹여나 실수로 병합을 한 경우에 즉시 병합을 취소할 수 있도록 하기 위함입니다.


[reset을 통한 병합 취소]

$ git reset --merge ORIG_HEAD

# 위와 같은 효과를 냅니다.
$ git reset --hard ORIG_HEAD

위 명령은 바로 직전 병합을 취소하는 명령입니다. fast-forward 병합이나 완전병합에서도 똑같이 먹힙니다.

 

 

revert를 이용한 병합 취소

병합 commit이 있다면(완전 병합으로 병합된 경우) revert를 이용해 쉽게 병합을 취소할 수 있습니다. 이때 --mainline 옵션으로 어느 브랜치를 남길지 결정할 수 있습니다.

'IT > Git' 카테고리의 다른 글

[Git] 모든 Git 브랜치를 가져오기  (0) 2023.02.13
[Git] tracked untracked unmodified modified staged  (0) 2023.02.10
[Git] git stash  (0) 2023.01.20
[Git] push/pull 자동 로그인  (0) 2023.01.20
[Git] git 명령 취소 방법  (0) 2023.01.20