Git/Git

[Git] Git 충돌(conflict) 해결하기

갈푸라떼 2022. 1. 27. 11:28

# 브랜치 간 충돌

  • 파일의 같은 위치에 다른 내용이 입력된 상황

* merge 충돌 해결하기

- git merge를 이용해 병합을 시도하면 충돌 발생

  • 오류 메시지와 git status 확인
  • VS Code에서 해당 부분 확인

 

- 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단

git merge --abort

 

- 해결 가능 시 충돌 부분을 수정한 뒤 git add ., git commit으로 병합 완료

 

* rebase 충돌 해결하기

git rebase main로 리베이스 시도시 충돌 발생

  • 오류 메시지와 git status 확인
  • VS Code에서 해당 부분 확인

- 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단

git rebase --abort

 

* 해결 가능 시

  • 충돌 부분을 수정한 뒤 git add .
  • 아래 명령어로 계속
git rebase --continue
  • 충돌이 모두 해결될 때까지 반복

 

main에서 git merge로 마무리

 

Q . 두 마디짜리 브랜치를 rebase 했는데 결과에는 왜 한 마디만 추가되는가?

A . 충돌 해결 중 두 번째 것에서는 current, 즉 main 브랜치 것을 채택했기 때문에

(즉 rebase가 의미가 없어졌으므로) 커밋으로 추가할 필요없어졌기 때문