충돌 발생 상황
여러명이 동시에 같은 브랜치에서 같은 파일을 수정하는 경우 충돌이 발생할 수 있습니다. 이때 Git은 어떤 변경사항을 적용해야 하는지 결정하지 못하고, 충돌이 발생한 파일을 마크업으로 표시합니다.
충돌 해결 단계
1. 충돌 발생 파일 열기
충돌이 발생한 파일을 텍스트 편집기로 열면 아래와 같이 <<< >>> 같은 기호들로 마크업된 부분이 표시됩니다.
(기존 파일 내용)
<<<<<<<< HEAD
현재 선택되어있는 브랜치의 내용
=========
병합 시도하는 브랜치의 내용
>>>>>>>> 병합 시도하는 브랜치명
2. 충돌 해결
충돌을 해결하기 위해서는 마크업된 부분 중에서 어떤 변경사항을 유지하고 어떤 변경사항을 삭제할지 결정해야 합니다. HEAD 브랜치의 변경사항을 유지하고 병합 시도하는 브랜치의 변경사항을 삭제하거나, 두 변경사항을 조합하여 하나의 수정본을 만들 수 있습니다.
HEAD 브랜치의 변경사항을 유지하고 추가 컨텐츠를 작성하는 예시입니다. << == >> 이런 부분은 전부 제거하면 됩니다.
(기존 파일 내용)
현재 선택되어있는 브랜치의 내용
추가하려는 컨텐츠를 여기에 작성합니다.
3. 충돌 해결 완료
충돌을 해결한 후, 파일을 저장합니다. 모든 충돌이 해결되었는지 다시 확인합니다.
4. Git에게 충돌 해결 알리기
충돌이 해결되면 Git에게 충돌이 해결되었음을 알려야 합니다. (Resolve Conflicts → Mark Resolved)
이를 위해 터미널에서 다음 명령어를 실행합니다.
git add 충돌난파일명
git commit -m "Merge conflict 해결"
5. 커밋
충돌이 해결된 파일을 스테이징 영역으로 넘겨주고, 커밋을 수행합니다.
이렇게 하면 충돌이 해결되고 최신 변경사항이 반영된 것을 확인할 수 있습니다.