이 글은 저번에 작성한 글에 이어서 작성하는 것이니 참고해주길 바란다.
https://ddongyeop.tistory.com/15
우선 Branch라는 것을 만들어준다.
이건 예전에 작성한 GitHub DeskTop협업 글에서 써둔 것처럼 브랜치라는 것은 한 리포지터리에 작업 공간을 여러개로 나누는 것이라고 생각하면 된다.
이후 TEST_Branch가 선택된 상태에서 어떠한 변경 사항을 추가해주고, File Status을 선택해준 후, 파일을 모두 "Staged files"에 올려준다. 이후 Commit을 해주고, Push을 하여 리포지터리에 올려준다.
이후 main브랜치로 이동해주고 합치려는 브랜치를 우클릭하고, "Merge"를 누르고, "OK", 그 후 Push을 해주는데 어느 브랜치에 이 파일을 올릴건지 선택할 수 있다.
그후 브랜치를 main으로 설정해둔 상태에서 File Explorer을 보면 정상적으로 올라온 것을 볼 수 있다.
이후 main브랜치와 TEST브랜치 모두에 커밋을 하고 보면 Graph가 두개로 나뉘는 것을 볼 수 있다.
이런식으로 직관적으로 브랜치 상태를 볼 수 있다.
그럼 main브랜치에 TEST브랜치를 합치면 어떻게 될까?
이런식으로 Graph을 봤을때 합쳐지게 되고, File Explorer을 봤을때도 TEST브랜치에서 해둔 것을 main브랜치에서 볼 수 있다.
그 후 TEST브랜치에 main브랜치를 합쳐준다. 그럼 Graph상에선 변경된게 없어보이지만 File Explorer상에서는 잘 변경이 된 것을 확인할 수 있다.
그럼 이제 일부로 서로 충돌하는 상황을 만들고 해결해보자.
main브랜치와 TEST브랜치 두개다 같은 파일을 수정해주고, 커밋 및 푸쉬을 해준다.
그후 두 브랜치를 merge해준다. 그러면 오류가 뜨게 되는데 우클릭 -> "Resolve Conflicts"을 하면 "Resolve Using 'Mine'"과 "Resolve Using 'Their'"이 나오게 된다.
Resolve Using 'Mine'은 지금 선택 되어 있는 브랜치의 변경사항을 따르는 것이고,
Resolve Using 'Their'은 합치려는 브랜치의 변경사항을 따르는 것이다.
물론 변경 사항을 우클릭하여 직접 원하는 부분만 가져갈 수도 있다.
'Git, GitHub > Sourcetree' 카테고리의 다른 글
SourceTree 사용법 정리 (0) | 2023.03.11 |
---|
댓글