Git
Merge 충돌 해결하기 – 충돌이 났을 때 당황하지 마세요
jonbeo
2025. 4. 20. 15:17
✅ Merge 충돌 해결하기 – 충돌이 났을 때 당황하지 마세요
– Git에서 가장 무서운 순간, 하지만 알고 보면 쉽게 해결 가능!
✨ 들어가며
"뭔가 잘 따라 하고 있었는데… 갑자기 이런 메시지가!?"
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.
처음 Git을 접한 사람이라면 진짜 놀라고 당황할 수 있어요 😨
오늘은 이런 상황에서도 침착하게 Merge 충돌을 해결하는 방법을
하나하나 쉽게 알려드릴게요!
📌 1. Merge Conflict란?
두 명 이상의 개발자가 같은 파일의 같은 부분을 동시에 수정하면,
Git은 자동으로 어떤 내용을 유지해야 할지 **결정하지 못해 충돌(conflict)**을 일으켜요.
💡 예:
A는 README.md 3번째 줄을 수정했고,
B도 같은 줄을 수정했다면 = 충돌 발생!
🛠️ 2. 충돌 상황 만들어 보기 (간단 예시)
- 브랜치 A에서 README.md 수정
- main 브랜치에 다른 내용으로 같은 줄 수정
- A 브랜치를 main에 머지 시도하면 → 충돌 발생!
🔍 3. 충돌이 일어난 파일 확인
git status
both modified: 라고 표시되는 파일이 바로 충돌이 난 파일이에요!
✏️ 4. 충돌 파일 열어보기
충돌이 발생한 파일을 열면, 이렇게 생긴 마크가 보일 거예요:
<<<<<<< HEAD
기존 main 브랜치의 내용
=======
A 브랜치에서 수정한 내용
>>>>>>> feature-branch
- HEAD 위쪽: 현재 브랜치(main)의 내용
- 아래쪽: 병합하려는 브랜치의 내용
이걸 수정해서 최종적으로 어떤 내용으로 할지 결정해주면 됩니다!
🧹 5. 충돌 해결 후 커밋
- 마크(<<<<<<<, =======, >>>>>>>)를 삭제하고
- 원하는 내용으로 정리한 뒤
- 아래처럼 커밋!
git add README.md
git commit -m "Merge conflict 해결"
✅ 6. 충돌 해결 완료!
이제 다시 병합된 브랜치에서 작업을 이어갈 수 있어요.
충돌은 피할 수 없지만, 이렇게 해결하는 방법만 알면
크게 어렵지 않습니다 😊
💡 추가 팁: 충돌을 줄이려면?
- 가능한 한 작은 단위로 자주 커밋/푸시 하세요.
- 다른 사람과 같은 파일을 동시에 수정하지 않도록 커뮤니케이션 하기!
- pull 하기 전에 항상 git fetch + git rebase 전략도 좋아요!
🏁 마무리하며
처음 보는 Merge Conflict 메시지에 당황하지 마세요!
위 단계를 천천히 따라하면,
충돌 상황도 충분히 해결할 수 있어요! 👏👏