▸ git-github-101
GitHub

충돌(Conflict)이란?

두 브랜치에서 같은 파일의 같은 부분을 서로 다르게 수정하면, Git은 어느 쪽을 선택해야 할지 알 수 없습니다. 이때 충돌(Merge Conflict)이 발생합니다.

충돌이 발생한 파일 확인하기

충돌이 발생하면 Git은 머지를 중단하고 충돌한 파일을 알려줍니다:

git merge feature
# Auto-merging greeting.txt
# CONFLICT (content): Merge conflict in greeting.txt
# Automatic merge failed; fix conflicts and then commit the result.

충돌 마커 이해하기

충돌이 발생한 파일을 열면 다음과 같은 내용이 보입니다:

<<<<<<< HEAD
Hello! Welcome! (main 브랜치의 내용)
=======
Hi! Nice to meet you! (feature 브랜치의 내용)
>>>>>>> feature
  • <<<<<<< HEAD ~ =======: 현재 브랜치(main)의 내용
  • ======= ~ >>>>>>> feature: 병합하려는 브랜치(feature)의 내용

충돌 해결하기

충돌을 해결하려면 파일을 직접 편집해야 합니다. edit 명령어로 파일을 열어보세요:

edit greeting.txt

에디터에 충돌 마커가 포함된 내용이 그대로 보입니다. 마커 세 줄(<<<<<<<, =======, >>>>>>>)을 모두 지우고 남기고 싶은 내용만 남긴 뒤 저장하세요. 두 브랜치의 내용을 합쳐 Hello! Welcome! Nice to meet you!처럼 만들어도 좋습니다.

저장 후 파일 내용을 확인해보세요:

cat greeting.txt

해결 후 커밋하기

충돌을 해결한 파일을 스테이징하고 커밋합니다:

git add greeting.txt
git commit -m "merge: resolve greeting.txt conflict"

: 실무에서 쓰는 VS Code 같은 에디터는 충돌 마커를 하이라이트하고 "Accept Current/Incoming" 버튼도 제공합니다. 원리는 방금 한 것과 같습니다. 마커를 지우고 원하는 내용만 남기면 됩니다.


충돌 해결까지 배웠습니다! 다음 레슨에서는 협업의 핵심 플랫폼인 GitHub에 대해 알아보겠습니다.

실습

👉

greeting.txt를 열어 충돌 마커를 지우고 원하는 내용만 남기세요

힌트: edit greeting.txt

충돌이 해결된 파일을 스테이징하세요

머지 커밋을 만드세요

🎯 1/3

greeting.txt를 열어 충돌 마커를 지우고 원하는 내용만 남기세요

$ edit greeting.txt