본문 바로가기
코드정리/Github - SourceTree

[Github] SourceTree 이용해서 브랜치 생성/병합

by Gi-One 2022. 2. 2.

#Github #sourcetree #branch

 

 

안녕하세요 Gi_1입니다.

SourceTree에서 커밋, 풀, 푸쉬 정도 할 줄 배워서 상당히 편한 툴인것을 실감하고 있습니다.

 

브랜치 생성, 병합(머지)방법 알아보도록 하겠습니다.

 

우선 브랜치를 왜 추가로 만드느냐??

 

: 최초 깃허브에서 PULL하시면 기본적으로 main or master라는 브랜치가 생성되어 있습니다.

협업을 할 때나 회사에서 작업을 할 때 이것은 최종본 이라고 생각하시면 됩니다. (업체에게 보여주는 용도 or 완성본)

따라서 브랜치를 하나 더 생성하여 작업공간을 확보하는 것 입니다.

 

-브랜치 사용-

 

 

왼쪽 중간쯤 브랜치를 클릭 해 보시면 커밋한 목록들이 나타납니다.

저는 커밋을 4번 해서 4개가 생성되어 있습니다.

그 중 최근의 것 하나(작업한 내용이 마음에 들지 않아 버리고 싶을 때)를 우클릭 하셔서 브랜치를 클릭해 주세요.

 

 

 

새 브랜치에 이름을 입력하고, 브랜치생성을 클릭 해 주세요.

저는 version02라고 생성하였습니다.

 

 

 

그럼 왼쪽에 version02라고 생성이 되고, 원격 브랜치에 빨간 박스와 텍스트가 생성 됩니다.

version02를 더블클릭 해서 브랜치를 변경해주세요. ( 글자 옆 파란 동그라미로 구분합니다.) 

이것을 checkout 이라고 합니다.

 

 

 

 

그 후, 커밋을 한번 더 해주세요. ( 아무 작업이나 하신 후에 )

저는  브렌치 설명 추가라는 제목으로 커밋을 하였습니다.

 

이후, 왼쪽에 브렌치를 보시면 main과 version02가 있는데 더블클릭을 main으로 옮기신 후 확인 해 보시면,

최근에 커밋한 내용이 제외된 상태로 브렌치가 있는 것을 확인 할 수 있습니다.

다시 version02를 클릭하면 최근에 커밋한 내용을 포함하여 있는 것을 알 수 있습니다.

 

 

머지(병합) 하기.

 

브랜치를 main으로 checkout 해주시고 version02 우클릭 -> 병합을 클릭합니다.

 

 

그럼 위와 같이 에러 메세지가 발생하는데, 수정한 파일을 살펴 보겠습니다.

 

Accept Current Change : 현재 변경 사항 수락

Accept Incoming Change : 수신 변경 사항 수락

Accept Both Changes : 두 변경 사항 모두 수락

compare Changes : 변경 사항 비교

 

녹색 배경이 현재 변경 사항 / 파란색이 수신 변경 사항 입니다. ( 위 아래로 구분하시는게 좋을 것 같네요. )

 

알맞게 선택 하신 후, 다시 commit 하시면 오류 없이 진행 할 수 있습니다 ^^

 

 

머지(Merge) 연습 사이트

 

하나의 브랜치를 현재 브랜치와 합치는 것을 병합(merge)라고 합니다.

브랜치를 연습하기 위한 사이트가 있는데, SourceTree를 이용하지는 않고 git 명령어를 직접 입력하면서 합니다.

SourceTree가 훨씬 편하긴 하지만.. git 명령어를 써보는것도 저는 나쁘지 않을 것 같네요.

 

--깃허브 브랜치 연습 사이트--

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

사이트 처음 접속하셔서 뜨는 팝업창은 전부 제거 해 주시고, 

왼쪽 하단에 명령어를 입력하시고, 정상적으로 됐는지 확인 후 오른쪽 도형들을 봐주시면 됩니다.

 

1. 브랜치 생성 : git branch version02

 

 

 

2. version02 브랜치로 작업공간 이동 : git checkout version02

3. git commit

 

 

3. main 브랜치로 체크아웃(이동) : git checkout main

4. version02와 main 브랜치(병합) : git merge version02 

 

 

 

위와같은 과정을 통해 브랜치가 2~3개일 때도 동일하게 작업하게 됩니다.

댓글