[Git] Branch 간 충돌 해결하기

WOOK JONG KIM·2022년 12월 21일
0

Git&GitHub

목록 보기
5/19
post-thumbnail

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

conflict 1,2 브랜치 생성


Merge 충돌 해결하기

이후 main에서 conflict-1을 merge 하려면

tigers의 manager 내용 차이로 인해 충돌 발생

당장 충돌 해결이 불가한 경우에는 git merge --abort
-> 해결 가능 시 충돌 부분을 수정한 뒤 git add ., git commit으로 병합 완료


Rebase 충돌 해결하기

conflict-2 브랜치에서의 두개의 수정 작업(Edit Leopards, Edit Panthers)은 Edit Tigers,Leopards,Panthers와 충돌이 일어날 것

merge(conflict-1)는 양쪽 갈래를 그냥 이어 붙이는 것이기 때문에 충돌 해결이 커밋 한번에 끝남
-> 반면 rebase의 경우 현재 main 브랜치인 Merge branch에 conflict-2의 두 수정작업을 이어 붙이는 것이기 때문에 모든 커밋마다 충돌과정을 차례대로 해결 해줘야 함!!

git rebase main을 할려고 하면 2번 충돌과정이 발생함
-> Edit Panthers 에서는 그냥 main branch의 값을 채택하였음
-> 이 경우에는 rebase가 의미가 없어져 commit으로 추가되지 않음
-> 두 번의 충돌과정을 거쳤지만 하나의 커밋만이 추가된 것을 볼 수 있음

이후 rebase한 conflict-2를 merge 해주어 main을 젤 위로 올린 후, 사용하지 않는 브랜치들을 삭제


Merge, Rebase 및 충돌 해결 과정 SourceTree에서 진행 해보기

브랜치 만들고 merge, rebase 하기

각 브랜치를 옮겨 가며 commit하기

Source Tree에서 branch 바꿀때마다 내용이 바뀌는것 확인 가능

main브랜치로 옮긴 후 to-merge에 우클릭 하여 현재 위치로 to-merge 병합 클릭

to-rebase 브랜치로 옮긴 후 main 우클릭 후 재배치

merge 할려할때 에러 발생

충돌을 해결할려 할때까지 merge 하지 않고 기다림

충돌 상황 해결 이후 커밋하려 할 때


메세지가 자동으로 생성되어있음

profile
Journey for Backend Developer

0개의 댓글