개발을 하다 보면 GitHub에 코드를 올릴 때 머지 충돌(Merge Conflict) 때문에 당황하는 순간이 찾아옵니다. 하지만 충돌은 더 나은 협업을 위한 자연스러운 과정입니다.

이번 글에서는 Merge 충돌을 두려워하지 않고 해결하는 방법과, 팀 협업의 핵심 기능인 풀 리퀘스트(Pull Request)를 통해 자신의 코드를 팀에 제안하는 방법을 알아보겠습니다.

못 피하면 해결하라! - Merge 충돌

“충돌은 언제, 왜 일어날까요?”

  1. 하나의 파일을 두 명이 동시에 수정했을 때: 두 명의 개발자가 같은 파일의 똑같은 부분을 서로 다르게 수정하고 병합(Merge)하려고 할 때 발생합니다.
  2. 충돌은 에러가 아닙니다: Git이 ‘어느 버전이 최신인지 판단할 수 없으니 개발자가 직접 확인하고 정리해 주세요’라고 보내는 신호입니다.

간단하게 충돌 해결하는 방법

충돌이 발생하면 Git이 파일에 <<<<<<<, =======, >>>>>>> 기호를 추가하여 어떤 부분이 충돌했는지 보여줍니다.

i. 충돌 파일 확인하기 VS Code 같은 코드 에디터에서 충돌이 난 파일을 열면 아래와 같은 내용을 볼 수 있습니다.

  • <<<<<<< HEAD: 내가 작업한(현재 브랜치) 코드 내용입니다.
  • =======: 각 버전의 코드를 구분하는 구분선입니다.
  • >>>>>>> 브랜치명: 나와 충돌이 발생한 다른 브랜치의 코드 내용입니다.

ii. 코드 수정 및 선택 두 코드 중 하나를 선택하거나, 두 내용을 적절히 조합하여 최종 코드를 만듭니다. 그리고 충돌을 표시하던 <<<<<<<, =======, >>>>>>> 기호들을 모두 삭제합니다.

iii. 충돌 해결 완료 알리기 수정이 끝났다면, 해당 파일을 다시 Git에 추가하고 커밋하여 충돌 해결이 완료되었음을 알려주면 됩니다.

```bash

수정한 파일을 스테이징합니다.

git add [충돌이 해결된 파일명]

충돌을 해결했다는 커밋 메시지를 작성합니다.

git commit -m “Fix: Merge conflict in [파일명]”

댓글남기기