git merge --abort
는 진행 중인 병합 작업을 완전히 취소하고 병합 시작 전 상태로 되돌리는 명령어입니다.
# 병합 중 심각한 문제 발견
# 다시 처음부터 시작하고 싶을 때
$ git checkout main
error: you need to resolve your current index first
git merge --abort
# 1. 병합 시도
$ git merge origin/release
# 2. 충돌 발생!
CONFLICT (content): Merge conflict in config.properties
...
# 3. 병합 취소
$ git merge --abort
# 4. 원래 상태로 복원 완료
$ git status
On branch release_#2969_s
nothing to commit, working tree clean
# 병합 중이 아닐 때 사용하면
$ git merge --abort
fatal: There is no merge to abort (MERGE_HEAD missing).
# 충돌 해결을 위해 수정한 내용들이 모두 사라짐
# 별도로 백업하지 않았다면 복구 불가
git status
git log --oneline -5
# 필요하다면 원격에서 최신 정보 받기
git fetch origin
# 다시 병합 시도
git merge origin/release
# 다른 병합 전략 사용
git merge -X ours origin/release # 내 변경사항 우선
git merge -X theirs origin/release # 상대방 변경사항 우선
# git reset: 커밋 히스토리 변경 (위험)
git reset --hard HEAD~1
# git merge --abort: 병합만 취소 (안전)
git merge --abort
# git revert: 새로운 커밋으로 이전 커밋 취소
git revert HEAD
# git merge --abort: 병합 자체를 없었던 것으로 처리
git merge --abort
# 중요한 작업 전 브랜치 백업
git checkout -b backup-branch
git checkout original-branch
git merge target-branch
# 병합 전 충돌 여부 확인
git merge --no-commit --no-ff target-branch
git diff --cached
git merge --abort # 확인 후 취소
# 1. 최신 상태 확인
git fetch origin
# 2. 백업 브랜치 생성
git checkout -b backup-$(date +%Y%m%d)
# 3. 원본 브랜치로 돌아가서 병합
git checkout main
git merge origin/feature
# 4. 문제 발생 시 즉시 abort
git merge --abort
git merge --abort
: 병합 작업을 완전히 취소하는 안전한 명령어병합 작업에서 문제가 생겼을 때 당황하지 말고 git merge --abort
로 안전하게 되돌린 후 다시 시도하세요! 🚀