Git

Merge 충돌 해결하기 – 충돌이 났을 때 당황하지 마세요

jonbeo 2025. 4. 20. 15:17



GitHub 로고 이미지
GitHub 로고 이미지

 

 

 


✅ 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. 충돌 상황 만들어 보기 (간단 예시)

  1. 브랜치 A에서 README.md 수정
  2. main 브랜치에 다른 내용으로 같은 줄 수정
  3. A 브랜치를 main에 머지 시도하면 → 충돌 발생!

 


 

🔍 3. 충돌이 일어난 파일 확인

git status

both modified: 라고 표시되는 파일이 바로 충돌이 난 파일이에요!

 

 


 

✏️ 4. 충돌 파일 열어보기

충돌이 발생한 파일을 열면, 이렇게 생긴 마크가 보일 거예요:

<<<<<<< HEAD
기존 main 브랜치의 내용
=======
A 브랜치에서 수정한 내용
>>>>>>> feature-branch
  • HEAD 위쪽: 현재 브랜치(main)의 내용
  • 아래쪽: 병합하려는 브랜치의 내용

이걸 수정해서 최종적으로 어떤 내용으로 할지 결정해주면 됩니다!

 


 

🧹 5. 충돌 해결 후 커밋

  1. 마크(<<<<<<<, =======, >>>>>>>)를 삭제하고
  2. 원하는 내용으로 정리한 뒤
  3. 아래처럼 커밋!
git add README.md
git commit -m "Merge conflict 해결"

 

 


 

✅ 6. 충돌 해결 완료!

이제 다시 병합된 브랜치에서 작업을 이어갈 수 있어요.
충돌은 피할 수 없지만, 이렇게 해결하는 방법만 알면
크게 어렵지 않습니다 😊

 


 

💡 추가 팁: 충돌을 줄이려면?

  • 가능한 한 작은 단위로 자주 커밋/푸시 하세요.
  • 다른 사람과 같은 파일을 동시에 수정하지 않도록 커뮤니케이션 하기!
  • pull 하기 전에 항상 git fetch + git rebase 전략도 좋아요!

 


 

🏁 마무리하며

처음 보는 Merge Conflict 메시지에 당황하지 마세요!
위 단계를 천천히 따라하면,
충돌 상황도 충분히 해결할 수 있어요! 👏👏