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 |