본문 바로가기
DevOps/Git

[Git] merge /rebase 충돌(conflict)

by sihyeong 2022. 10. 23.

merge / rebase 충돌

  • 아래와 같이 merge, rebase 중 충돌이 난 부분은 VSCode에서 어디서 충돌이 났는지 알려줌

  • 파일뿐 아니라 파일의 내용까지 충돌부분을 알려줌
  • HEAD (Current Change)는 merge,rebase 둘 다 main(주 사용 브랜치명)을 의미한다.
  • conflict-1 (Incoming Change)는 (서브대상브랜치명)을 의미하고

merge 충돌

  • merge 충돌은 충돌 제거 후 add, commit 작업이 추가로 필요하다.
  • commit 하게 되면 자동으로 제목이 "Merge branch 서브대상브랜치명" 이 되며 commit을 진행 하면 충돌 처리 완료

 

merge 충돌

  • merge 충돌은 충돌 제거 후 add, commit 작업이 추가로 필요하다.
  • commit 하게 되면 자동으로 제목이 "Merge branch 서브대상브랜치명" 이 되며 commit을 진행 하면 충돌 처리 완료
충돌 제거 후
git add .
git commit

merge 중단

  • 충돌제거가 어렵거나 복잡해서 돌아가고 싶을 땐 아래의 명령어 입력하면 merge 전으로 돌아간다.
git merge --abort

merge  충돌 메시지

  • 아래와 같이 친절하게 어디서 충돌났다를 친절하게 알려줌
  • 3번째 줄 Merge conflict in tigers.yaml <- tigers.yaml에서 충돌

  • 만약 merge 중 충돌이 났다면 아래와 같이 MERGING(merge 중)이에요 라고 알려줌

 

rebase 충돌

  • rebase 중 충돌이 났다면 rebase 이전 브랜치에서 작업한 내용 하나하나 충돌 여부를 검사한다.
  • 아래와 같이 2개의 파일 작업 후 2개다 충돌하면 충돌제거를 2번 해야 한다.

  • rebase는 아래와 같이 친절하게 명령어 까지 알려준다.

  • 충돌 제거 후 add와 rebase --continue를 해줘야 한다.
충돌 제거 후
git add .
git rebase --continue

 

 

참고사항

rebase 충돌 처리 중
main껄로 작업내용 수정해서 incomming의 변경사항을 추가할 필요가 없어지면
따로 변경사항에 해당 작업이 변경사항에 나타나지 않음

 

 

'DevOps > Git' 카테고리의 다른 글

[Git] 원격저장소 브랜치  (0) 2022.10.24
[Git] 원격저장소  (0) 2022.10.23
[Git] branch / merge / rebase  (0) 2022.10.23
[Git] revert / reset  (0) 2022.10.23
[Git] 기초 사용법 복습  (0) 2022.10.23