Git브랜치와 협업

merge conflict 해결 흐름

충돌이 났을 때 당황하지 않고 상태를 읽고, 파일별로 해결하고, 완료까지 마무리하는 기본 흐름을 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

text
git status

# 충돌 파일 수정 후
git add <file>
git merge --continue

설명

  • conflict는 Git이 "두 변경을 자동으로 합칠 근거가 부족하다"고 판단한 상태입니다. 오류라기보다 사람이 의도를 결정해 달라는 신호에 가깝습니다.
  • 해결 흐름은 보통 일정합니다. 먼저 git status로 어떤 파일이 충돌했는지 보고, 파일 안의 충돌 마커를 읽고, 최종 내용을 사람 손으로 정리한 뒤, git add로 해결 완료를 표시합니다.
  • merge 중 충돌인지 rebase 중 충돌인지에 따라 마지막 명령은 git merge --continue 또는 git rebase --continue가 됩니다. 중단하고 싶다면 --abort도 중요한 탈출 경로입니다.
  • 좋은 conflict 해결은 "마커를 지우는 것"이 아니라 "두 변경 의도를 이해하고 더 올바른 최종 코드를 선택하는 것"입니다. 그래서 테스트나 빌드 확인이 특히 중요합니다.
  • 충돌을 줄이는 가장 좋은 방법은 작은 브랜치, 자주 동기화, 명확한 코드 경계입니다. 해결 기술만큼 예방 습관도 중요합니다.

빠른 정리

단계해야 할 일
1git status로 충돌 파일 확인
2충돌 마커를 읽고 최종 코드 결정
3수정 후 git add
4merge --continue 또는 rebase --continue
5테스트와 빌드로 최종 확인

주의할 점

충돌 파일을 기계적으로 한쪽 버전만 남기면, 컴파일은 돼도 로직이 조용히 깨질 수 있습니다. 충돌 해결 직후에는 반드시 관련 테스트나 실행 확인까지 함께 보는 편이 안전합니다.

참고 링크

2 sources