2026.06.30

[Git 기초] Merge Conflict 해결하기

Git에서 Merge 과정 중 발생하는 Conflict의 원인과 해결 방법을 알아보고, 충돌을 줄이는 방법도 함께 살펴봅니다.

conflict
git
github
merge
버전관리
프론트엔드
협업
[Git 기초] Merge Conflict 해결하기

Merge Conflict란?

Merge Conflict는 두 개 이상의 Branch에서 같은 파일의 같은 부분을 수정했을 때 발생하는 충돌입니다.

Git은 어떤 내용을 최종 코드로 사용할지 판단할 수 없기 때문에,
개발자가 직접 수정해야 합니다.


주요 포인트 Top3

# 충돌 발생

같은 파일의 같은 부분을 수정하면 충돌이 발생할 수 있습니다.

# 직접 해결

어떤 코드를 유지할지 개발자가 직접 선택해야 합니다.

# 협업 필수

팀 프로젝트에서 가장 자주 경험하는 Git 문제 중 하나입니다.




01. Conflict가 발생하는 이유

예를 들어 두 명의 개발자가 같은 파일을 수정했다고 가정해보겠습니다.

  • A 개발자 : 로그인 버튼 색상을 파란색으로 변경
  • B 개발자 : 로그인 버튼 색상을 초록색으로 변경

두 작업을 Merge하는 순간,
Git은 어떤 코드를 선택해야 하는지 알 수 없어 Conflict가 발생합니다.




02. Conflict 확인

Merge를 진행하면 아래와 같은 메시지가 출력될 수 있습니다.

bash
CONFLICT (content): Merge conflict in src/App.jsx
Automatic merge failed.

이 경우 충돌이 발생한 파일을 직접 수정해야 합니다.




03. Conflict 해결

충돌이 발생한 파일을 열면 다음과 같은 표시가 나타납니다.

text
<<<<<<< HEAD
현재 브랜치 코드
=======
병합할 브랜치 코드
>>>>>>> feature/login

원하는 코드만 남기고
충돌 표시(<<<<<<<, =======, >>>>>>>)는 모두 삭제합니다.




04. 해결 후 Commit

충돌을 해결했다면 다시 파일을 등록하고 Commit합니다.

bash
git add .
 
git commit -m "fix: merge conflict 해결"

마지막으로 GitHub에 업로드합니다.

bash
git push origin main



05. Conflict를 줄이는 방법

Conflict는 완전히 피할 수는 없지만,
다음과 같은 습관으로 줄일 수 있습니다.

  • 자주 git pull 하기
  • 기능별로 Branch를 분리하기
  • 너무 큰 Commit 만들지 않기
  • 같은 파일을 동시에 수정하지 않기
  • Merge 전에 최신 코드를 먼저 반영하기






GOYO.’s Tip

Conflict가 발생했다고 해서 Git이 잘못된 것은 아닙니다.

오히려 여러 개발자가 동시에 작업하고 있다는 의미이며,
실무에서는 누구나 경험하는 자연스러운 과정입니다.

당황하지 말고 충돌 내용을 확인한 뒤,
필요한 코드만 남기고 다시 Commit하면 해결할 수 있습니다.



마무리

이번 글에서는 Merge Conflict의 원인과 해결 방법을 알아보았습니다.

Git을 처음 공부한다면 Conflict를 두려워하기보다,
원인을 이해하고 직접 해결해보는 경험이 가장 좋은 학습이 됩니다.