본문 바로가기

개발자노트/GitHub

Github - git SourceTree 사용법 ( branch 생성과 병합 ) , git clone 방법 추가

Step 1. 브랜치 생성하기

브랜치를 생성하는 방법은 크게 두가지 방법이 있는데

 

1. GitHub에서 생성하고, 다른 GitGUI 에서 연동하는 방법

 

2. GitGUI에서 생성하고, 원격에 업로드 하는 방법


나는 1번 방법을 설명하겠다.

 

✔ GitHub에서 브랜치 생성

레포지터리를 생성하면 default로 main 브랜치가 생성되어있다.

Find or create a branch.. 에 생성하고 싶은 브랜치 명을 기입하게 되면 

 

 

다음과 같이 main을 기반(부모)로 한 새로운 브랜치를 생성할 수 있다.

 

 

생성된 Branch를 체크하여 이동할 수 있다.

 

 

 

 

 👉 통용되는 브랜치 이름!

- Master Branch

  제품으로 출시 될 수 있는 브랜치 ( 배포 )

  배포 가능한 상태만을 관리, 커밋할 때에는 태그를 사용하여 배포 번호를 기록

 

- Develop Branch

  다음 출시 버전을 개발하는 브랜치 , 이 브랜치를 기반으로 개발 진행

 

- Feautre Branch

  기능을 개발하는 브랜치

  기능 개발, 개발 완료 시 Develop Branch로 병합

  기본적으로 공유할 필요가 없기 때문에, 원격으로는 관리하지 않음!

 

- Release Branch

  출시 버전을 준비하는 브랜치 (출시)

  릴리즈를 위한 최종적인 버그 수정 등 개발 수행

  버그를 수정 혹은 새로운 기능을 포함한 상태로 모든 기능이 정상적으로 동작하는지 확인

  브랜치의 이름은 관례적으로 브랜치 이름 앞에 'release-'를 붙힘

 

- Hotfix Branch

  출시 버전에서 발생한 버그를 수정하는 브랜치(버그)

  배포한 버전에 긴급하게 수정을 해야할 필요가 있을 경우. 'master' 브랜치에서 분기함

  Release Branch 처럼 관례적으로 'hotfix-'를 붙히는 특징이 있음

 


Step 2. 브랜치를 GUI에 연동하기

브랜치를 생성했으니, 내 local 파일과 브랜치를 연결해주는 작업을 수행해야한다.

GUI 프로그램에서 ( 필자는 현재 SourceTree app을 사용함 ) 자신이 관리할 레포지터리를 clone 하게 되면,

좌측 브랜치 탭에 default 값으로 되어있던 main Branch가 기본설정 되어있는 것을 볼 수 있다.

좌측 탭에 main에 🔘 표시와 bold체로 되어있는 것을 볼 수 있는데,

이는 내가 main 브랜치에 해당되어 있는 정보를 보고 있다는 뜻이다. 

 

 

상단에 브랜치를 누르게 되면 

 

 

브런치를 새로 생성할 수 있는데,

GitHub에 내가 만들어논 Branch명을 적는 것이 일반적이다. ( 다른 이름을 사용해도 되지만 권장되지 않음 )

 

 

생성을 하게 되면 좌측에 새로 TestBranch 가 생성되고 선택이 main 에서 TestBranch로 바뀐 것을 볼 수 있다.

※ 이 때 이 브랜치를 GitHub에 TestBranch와 연동하기 위해 한가지 과정이 필요한데

 

원격 브랜치 추적 - origin/TestBranch ( 내가 GitHub에 만들어논 브랜치 이름 ) 을 target 해주면 된다.

 

 


✔ Push / Merge

먼저 Push와 Merge에 대한 기본적인 설명을 하겠다.

Push는 현재 내 local 작업변동 사항을 원격에 보내서 적용시키는 것이고,

Merge는 말 그대로 '병합' 이다.

대략적인 흐름은

1. 로컬 Branch에 가지치기로 개인작업을 한 뒤

2. Push를 하여 협업자 혹은 관리자에게 컨펌을 받고

3. 해당 내용을 승인을 받으면 main Branch에 개인작업의 Branch를 병합 하는 구조이다.

 

 

👉  Push 하는 방법

 

내 원격작업물을 clone한 local 폴더에 SourceTreeGuide라는 txt 파일을 새로 만들게 되면 SourceTree GUI에

 

 

다음과 같은 커밋되지 않은 변경사항이라는 항목이 생긴 것을 볼 수 있다.

 

 

그리고 좌측에 파일상태 탭을 누르게 되면 다음과 같이 스테이지에 올릴 수 있고,

하단에는 commit 할 수 있는 공간이 생긴다.

스테이지에 올라가지 않은 파일을 스테이지에 모두 스테이지에 올려 여러개의 작업을 commit할 수 있고,

선택한 내용만 스테이지에 올릴 수 있다. 

 

 

다음과 같이 스테이지에 올린 후 커밋할 내용을 하단에 작성 후 커밋 버튼을 누르면 커밋이 완료된다.

 

 

커밋을 누르게 되면 다음과 같이 좌측에 History 탭으로 자동으로 이동되며,

커밋이 완료된 것을 확인 할 수 있다.

커밋은 앞서 쓴 글에서 말했듯, 아직 원격레파지토리에는 적용되지 않았기 때문에 

 

 

👉 상단에 Push를 눌러 PUSH 를 해주어야한다!

Push 버튼을 누르게 되면 Branch를 설정하여 Push할 수 있는데

우리는 현재 로컬브랜치(내가 GUI에서 만든 브랜치)를 원격브랜치(리모트 브랜치) 인 TestBranch에

Push할 것이기 때문에

좌측 체크박스에 TestBranch를 체크해주고, 리모트브랜치를 TestBranch를 선택하고 Push해주게 되면

 

main Branch에는 변동된 사항이 없지만,

TestBranch에는 우리가 commit한 내용을 확인할 수 있다!

 

 

 

👉  Merge 하는 방법

위에서 Push하는 것까지 성공했다면, 이번에는 main branch에 병합하는 방법을 소개하겠다.

소스트리 좌측에 main 브랜치를 선택한 후,

현재 브랜치를 TestBranch로 병합(Merge) 을 클릭하게 되면,

다음과 같이 알림 팝업이 뜰 것인데, 이 때 확인을 누르게 되면

main Branch의 history 탭으로 이동되며,

main Branch를 자식으로 한, TestBranch원격 Branch에 , 로컬 Branch인 TestBranch 가

수행한 commit을 볼 수 있다.

이 때 변동사항이 생겨서 Push가 활성화 되어 Push를 하게 되면,

우리는 main Branch에 병합한 내용을 main에 push할 것이니 main을 선택 후 Push 하면 된다.

GitHub에서 확인을 해보면

다음과 같이 TestBrench에 있던 내용이 main Brench에 병합되어 적용된 것을 확인할 수 있다!

 

기본적으로 Bash를 이용한 명령어 사용에 익숙해지면

SourceTree 외에도 다른 GUI를 편리하게 사용할 수 있다.

 

 



👉  SourceTree에서 GitHub clone 하는 방법!

 

 

상단 탭에 있는 + 버튼을 누르면 다음과 같은 창이 뜨는데 이 때 Clone을 클릭

다음화면에서 첫번 째 경로에는 GitHub Https 경로

를 작성하고, 아래 경로에는 자신이 clone할 💢로컬폴더 경로💢를 지정해주면 된다.

정상적인 URL 주소라면 다음과 같이 Git 저장소 입니다. 라는 출력 결과를 볼 수 있다.

 

이 때는 SourceTree에서 자동적으로 git init을 수행해주기 때문에,

.git 파일이 이미 있다면 경로를 지정할 수 없으니 유의!

 

 


 

 

궁금한 점이 있으면 질문 남겨주면 아는 선에서 답변해드리겠습니다.

다음에는 GitBash와 GitFork의 기본 사용법에 대해서 포스팅 하겠습니다 감사합니다.

 

 

'개발자노트 > GitHub' 카테고리의 다른 글

Git - git fork 로 협업하기 + Merge , commit 오류  (0) 2022.10.06
Git / GitHub 기본사용법  (0) 2022.08.31