카테고리 없음

git conflict 정리

포비용 2025. 2. 17.

오늘 같이 코드 짜는 동료랑 협업하다가 오랜만에 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 "충돌 해결: 상대 코드 유지"

 

이 방법을 쓰면 한쪽 코드만 남기고 충돌을 자동 해결할 수 있음!

댓글