Git MERGE_HEAD 오류 해결 방법: 머지 충돌을 제대로 끝내지 못했을 때 대처법
"Git에서 merge를 시도했는데, 갑자기 'MERGE_HEAD exists' 오류가 떴다면 어떻게 해야 할까요?"
Git은 협업을 위한 강력한 도구지만, 충돌 상황에 대한 이해가 부족하면 간단한 병합조차도 개발 흐름을 방해할 수 있습니다. 본 글에서는 'fatal: You have not concluded your merge (MERGE_HEAD exists)' 오류가 발생하는 원인과 그 해결법, 그리고 이를 방지하기 위한 실전 팁까지 모두 정리합니다.
1. 오류 메시지의 의미
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
이 메시지는 이전에 git merge
명령을 실행했지만, 충돌이 발생하여 Git이 병합을 멈춘 상태라는 뜻입니다. 현재 상태는 '병합 도중'으로 인식되며, .git/MERGE_HEAD
파일이 존재함으로써 Git이 머지 중임을 나타냅니다.
MERGE_HEAD란?
MERGE_HEAD
는 병합 중인 브랜치의 정보를 임시로 저장하는 Git 내부 파일입니다. 병합이 완료되지 않았을 때 이 파일이 유지되며, Git은 그 상태를 '미완료 머지'로 판단하게 됩니다.
2. MERGE_HEAD 오류 발생 원인 요약
- 충돌 발생 후 수정하지 않음
- 충돌 파일을 add 하지 않음
- commit 하지 않고 merge 다시 시도
- VS Code나 GUI 툴에서 실수로 merge 도중 작업 중단
3. 오류 해결 방법
3-1. CLI에서 해결하는 방법
# 1. 충돌 상태 확인
$ git status
# 2. 충돌난 파일 열고 충돌 마커 수정
# <<<<<<< HEAD ~ ======= ~ >>>>>>> 형태 확인 후 직접 수정
# 3. 수정한 파일 스테이징
$ git add .
# 4. 머지 완료
$ git commit -m "Fix merge conflict"
3-2. Visual Studio Code에서 해결하는 방법
- 좌측 Source Control (Git 아이콘) 클릭
- 충돌난 파일 선택 → 직접 수정하거나 VS Code에서 제공하는 Accept Current / Incoming / Both 버튼 사용
- 모든 파일 수정 후 Stage Changes
- 상단 체크 표시 버튼 클릭하여
merge commit
생성
3-3. 병합 자체를 취소하려면?
병합을 진행하고 싶지 않다면 다음 명령으로 병합을 취소할 수 있습니다:
$ git merge --abort
git merge --abort
는 병합 도중 상태를 완전히 제거하고 이전 상태로 되돌려줍니다.
4. 자주 하는 실수와 예방 팁
- 충돌 메시지를 무시하고 다시 merge 시도 → MERGE_HEAD 오류
- 충돌 파일 수정 후 add 하지 않음 → commit 불가
- GUI에서 커밋하지 않고 다른 브랜치로 checkout → 작업 손실 위험
예방을 위한 꿀팁
- 충돌 전후 상태를 항상
git status
로 점검 - 머지 후 반드시
git add
와git commit
으로 마무리 - 가능하면 소규모 병합 단위로 작업
5. 관련 트렌드: Git의 병합 충돌 자동화 도구
최근에는 AI 기반 병합 툴이나 GitHub의 코드 컨플릭트 해소 자동화 기능이 많이 쓰이고 있습니다. 예를 들어, GitHub Actions 또는 Copilot은 Pull Request 단계에서 충돌 위험을 자동 예측하거나 해결 방안을 제시할 수 있습니다.
6. 전문가 의견
"머지 충돌은 Git을 쓰는 개발자라면 반드시 마주치는 일입니다. 중요한 건 충돌 자체가 아니라 그 이후의 대처입니다. 명확한 커밋 흐름과 git status 점검 습관만 있어도 대부분의 충돌은 큰 문제 없이 해결됩니다."
— 김재현, Git 워크플로우 강사
7. 결론: MERGE_HEAD 오류는 당황할 필요 없다
'You have not concluded your merge (MERGE_HEAD exists)' 오류는 Git이 잘 작동하고 있다는 증거입니다. 충돌을 발견하고 이를 사용자가 해결하도록 기다리는 중이니까요. 이 글에서 소개한 방법들을 따라 충돌을 수정하고 올바르게 머지를 완료해보세요.