파일의 같은 위치에 다른 내용이 입력된 상황
conflict 1,2 브랜치 생성
이후 main에서 conflict-1을 merge 하려면
tigers의 manager 내용 차이로 인해 충돌 발생
당장 충돌 해결이 불가한 경우에는 git merge --abort
-> 해결 가능 시 충돌 부분을 수정한 뒤 git add ., git commit으로 병합 완료
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 하기
각 브랜치를 옮겨 가며 commit하기
Source Tree에서 branch 바꿀때마다 내용이 바뀌는것 확인 가능
main브랜치로 옮긴 후 to-merge에 우클릭 하여 현재 위치로 to-merge 병합 클릭
to-rebase 브랜치로 옮긴 후 main 우클릭 후 재배치
merge 할려할때 에러 발생
충돌을 해결할려 할때까지 merge 하지 않고 기다림
충돌 상황 해결 이후 커밋하려 할 때
메세지가 자동으로 생성되어있음