This branch has conflicts that must be resolved

artp·2025년 7월 9일

git&github

목록 보기
10/18
post-thumbnail

GitHub Pull Request 충돌(Conflict) 해결 방법

GitHub Pull Request(PR)에서 종종 등장하는 아래와 같은 메시지는 병합(Merge)이 불가능한 충돌 상태임을 의미합니다.

"This branch has conflicts that must be resolved"

이 메시지는 병합하려는 브랜치와 기준 브랜치 간에 동일한 파일의 동일한 위치가 서로 다르게 수정되었음을 뜻합니다.

로컬에서 Conflict 해결하는 절차

1. 기준 브랜치로 체크아웃

git checkout main  # 또는 develop 등 기준 브랜치 이름
git pull origin main

2. 충돌 발생 브랜치로 체크아웃

git checkout your-feature-branch

3. 기준 브랜치를 병합 (충돌 유발)

git merge main

이 시점에 충돌(conflict) 메시지가 뜨고, 충돌된 파일 목록이 출력됩니다.

4. 충돌 코드 확인

충돌이 발생한 파일을 열어 아래와 같은 Conflict 마커를 찾습니다.

<<<<<<< HEAD
// 현재 브랜치의 코드
=======
// 병합 대상 브랜치의 코드
>>>>>>> main

5. 코드 수정

  • 두 코드 중 유지하고 싶은 코드만 남기고 나머지 삭제
  • <<<<<<<, =======, >>>>>>> 등의 마커도 반드시 삭제
  • 보통 IDE(IntelliJ, VSCode 등)는 병합 UI를 제공하여 선택/편집을 쉽게 할 수 있도록 도와줍니다.

6. 수정한 파일 스테이징

git add .

또는 충돌 파일만 스테이징하려면:

git add src/main/java/.../SecurityConfig.java

7. 병합 커밋 생성

git commit -m "커밋 메시지"

8. 원격 브랜치에 푸시

git push origin your-feature-branch

9. GitHub에서 PR 다시 확인

  • PR 페이지로 돌아가 conflict 메시지가 사라진 것을 확인
  • “Merge pull request” 버튼이 활성화됨
profile
donggyun_ee

0개의 댓글