git/github(7)

clouood·2023년 12월 31일
0

git/github

목록 보기
7/9
post-thumbnail

이번엔 소스트리로 브랜치 간 충돌을 해결하겠다!

[브랜치 간 충돌 해결하기]

1. 브랜치 만들고 merge, rebase 하기

  • to-merge, to-rebase 브랜치 생성

    • 상단의 브랜치 버튼 클릭


      to-rebase도 동일하게!

    • 왼쪽의 브랜치 탭에서 클릭하여 이동

      더블클릭하면 내가 원하는 브랜치로 이동 가능.
      현상황에서는 세 브랜치 모두 같은 커밋에 있으므로 내용이 달라지지는 x.

2. main 브랜치

  • tottenham의 manager를 '팀 셔우드'로 변경
    커밋 메시지 : Edit tottenham manager

    커밋 메시지 하단에 쓰고, 스테이지에 파일 올린 후 커밋.

3. to-merge 브랜치

  • tottenham의 coach를 '피에로 벤트로네'로 변경
    커밋 메시지 : Edit tottenham coach
    -> 2번과 동일한 방법으로 진행

4. to-rebase 브랜치

  • tottenham의 members에 '미키 반 더 벤' 추가
    커밋 메시지 : Edit tottenham members


끝마치면 이러한 그림이 나옴. 브랜치를 변경할 때마다 파일의 내용도 달라짐.


5. to-merge 브랜치를 main으로 merge

  • main에 위치한 뒤, to-merge 브랜치를 우클릭하여 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 브랜치에 기록되어 있음.



[merge 충돌 해결하기]

rebase는 충돌 가능시 CLI로 진행 권장(복잡하고 버전마다 다르기도 해서)


1. conflict 브랜치 생성


2. main 브랜치

  • tottenham의 members에 '브레넌 존슨' 추가
    커밋 메시지 : Add 브레넌 존슨 to tottenham

3. conflict 브랜치

  • tottenham의 members에 '페드로 포로' 추가
    커밋 메시지 : Add 페드로 포로 to tottenham


소스트리에서 확인! members의 마지막 줄... 두 곳에 충돌이 발생할 것임.


4. merge하여 충돌 해결해보기

main 브랜치에서 '현재 브랜치로 conflict 병합' 클릭.

그럼 이러한 경고가 뜬다. 닫기를 누르면,

커밋되지 않은 변경사항이라고 나와 있음. 충돌이 있으므로 바로 병합하지 않고 충돌이 해결될 때까지 기다리겠다는 의미.

vscode에서 충돌 상황 확인 가능. 원하는 대로 해결한 후, 저장.

커밋을 누르면, 커밋 메시지가 자동으로 작성되어 있음. 스테이지에 파일 올린 후, 커밋 누르기.

성공적으로 충돌 해결.


5. conflict 브랜치 삭제

깔끔하게 main 브랜치만 남음.

profile
雲外蒼天

0개의 댓글