이번엔 소스트리로 브랜치 간 충돌을 해결하겠다!
1. 브랜치 만들고 merge, rebase 하기
to-merge, to-rebase 브랜치 생성
상단의 브랜치
버튼 클릭
to-rebase도 동일하게!
왼쪽의 브랜치 탭에서 클릭하여 이동
더블클릭하면 내가 원하는 브랜치로 이동 가능.
현상황에서는 세 브랜치 모두 같은 커밋에 있으므로 내용이 달라지지는 x.
2. main 브랜치
3. to-merge 브랜치
4. to-rebase 브랜치
끝마치면 이러한 그림이 나옴. 브랜치를 변경할 때마다 파일의 내용도 달라짐.
5. to-merge 브랜치를 main으로 merge
6. to-rebase 브랜치를 main으로 rebase
to-rebase에 위치한 뒤 main 브랜치를 우클릭하여 ...재배치 클릭
성공적으로 rebase됨.
근데 main이 to-reabse보다 뒤처져 있음. 수정 필요.
main에 위치한 뒤, to-rebase 브랜치를 우클릭하여 merge... 클릭
main 브랜치가 최신 커밋으로 와 있음!
이제 to-merge, to-rebase 브랜치는 필요 없으므로 삭제.
깔끔하게 main 브랜치만 남아 있다!
vscode에 들어가보면 모든 변경사항들이 main 브랜치에 기록되어 있음.
rebase는 충돌 가능시 CLI로 진행 권장(복잡하고 버전마다 다르기도 해서)
1. conflict 브랜치 생성
2. main 브랜치
3. conflict 브랜치
소스트리에서 확인! members의 마지막 줄... 두 곳에 충돌이 발생할 것임.
4. merge하여 충돌 해결해보기
main 브랜치에서 '현재 브랜치로 conflict 병합' 클릭.
그럼 이러한 경고가 뜬다. 닫기를 누르면,
커밋되지 않은 변경사항이라고 나와 있음. 충돌이 있으므로 바로 병합하지 않고 충돌이 해결될 때까지 기다리겠다는 의미.
vscode에서 충돌 상황 확인 가능. 원하는 대로 해결한 후, 저장.
커밋을 누르면, 커밋 메시지가 자동으로 작성되어 있음. 스테이지에 파일 올린 후, 커밋 누르기.
성공적으로 충돌 해결.
5. conflict 브랜치 삭제
깔끔하게 main 브랜치만 남음.