**merge 충돌(conflict)**은 Git이 변경 사항을 자동으로 합칠 수 없을 때(양쪽이 같은 라인을 수정) 발생합니다. 충돌을 해결하는 것은 충돌 마커를 이해하고, 올바른 결과를 결정하며, merge를 완료하는 것을 포함합니다. 이를 자신 있게 하는 것이 중요한 실무 기술입니다.
충돌이 언제, 왜 발생하나
Git은 대부분의 변경을 자동 merge하지만, 양쪽 branch가 SAME 라인을 변경했을 때(또는
한쪽이 다른 쪽이 수정한 것을 삭제) 충돌이 발생 — Git이 결정할 수 없어 사용자에게 요청.
→ 충돌은 협업에서 정상이며 오류가 아님 — 단지 Git이 자동 해결할 수 없는 변경.
충돌 마커 이해하기
<<<<<<< HEAD
현재 branch(merge 대상)의 코드
=======
다른 branch(merge되는 쪽)의 코드
>>>>>>> feature-branch
→ <<<<<<< 부터 ======= : 내 쪽(HEAD)
→ ======= 부터 >>>>>>> : 상대 쪽
→ 올바른 최종 결과(한쪽, 다른 쪽, 또는 조합)로 편집한 다음,
모든 마커를 제거.
