오늘 같이 코드 짜는 동료랑 협업하다가 오랜만에 merge 하는데 confict 나서 정리
Git Merge 충돌 해결법
✅ 충돌(Conflict) = Git이 자동으로 합칠 수 없는 변경 사항이 있을 때 발생
👉 머지 충돌이 왜 발생할까?
- 같은 파일의 같은 부분을 여러 브랜치에서 수정한 경우
- 한쪽에서는 파일을 수정, 다른 쪽에서는 삭제한 경우
- 한 브랜치에서 파일 이름을 변경, 다른 브랜치에서 내용을 변경한 경우
git status / Unmerged paths: 아래에 충돌난 파일들이 보임
<<<<<<< HEAD
나는 main 브랜치에서 수정했어요.
=======
나는 feature-branch에서 수정했어요.
>>>>>>> feature-branch
- <<<<<<< HEAD → 현재 브랜치(main)의 코드
- ======= → 두 코드의 경계
- >>>>>>> feature-branch → 병합하려는 브랜치의 코드
나는 feature-branch에서 수정했어요.--> 이부분만 남기고 정리
git add 충돌난파일.txt
git commit -m "Merge conflict 해결"
방법 2: 특정 브랜치 내용으로 덮어씌우기 (내 코드 유지 or 상대 코드 유지)
🚀 내 코드 유지 (--ours)
git checkout --ours 충돌난파일.txt
git add 충돌난파일.txt
git commit -m "충돌 해결: 내 코드 유지"
🚀 상대 브랜치 코드 유지 (--theirs)
git checkout --theirs 충돌난파일.txt
git add 충돌난파일.txt
git commit -m "충돌 해결: 상대 코드 유지"
이 방법을 쓰면 한쪽 코드만 남기고 충돌을 자동 해결할 수 있음!
댓글