Branch
가지치기
-
정의 : 특정 커밋에서 분기하여 새로운 흐름을 생성하는 작업
- 규칙
- 통상
Main Branch
커밋에서Sub Branch
로 가지치기함Main
: 최종본 커밋을 기록하는 브랜치로서 기본값으로 설정되어 있는 브랜치Sub
: 특정 최종본으로부터 분기되어 변경된 사항들을 기록하는 브랜치
- 최종본 커밋을 기록하는 브랜치에는 최종본 내역 이외의 내역을 남기지 않음
Main Branch
에는 최종본 커밋만을 기록함Sub Branch
에는 작업 커밋을 기록함
- 통상
-
방법 : Five Branch Style
Main
: 최종본 커밋을 기록하는 브랜치Develop
:Feature
들을 병합하는 브랜치Feature
:Develop
로부터 작업 주제에 따라 추가 분기하는 브랜치Release
:Develop
에서 확정되어 최종본이 된 커밋을Main
으로 배포하는 브랜치Hot-Fix
:Develop
을 거치지 않고 수정하고 싶을 때Main
에서 임시 분기하는 브랜치
Pruning
Search
1
git branch <OPTION>
-
branch
: 브랜치 관리(조회, 생성, 이름 변경, 삭제 등)에 대하여 기능함 -
<OPTION>
None
: 로컬 저장소에 존재하는 브랜치 목록을 조회함-vv
: 로컬 저장소에 존재하는 브랜치 및 각 브랜치가 추적하는 원격 브랜치 목록을 조회함
Create, Rename, Delete
1
git branch <OPTION> <BRANCH-NAME>
-
branch
: 브랜치 관리(조회, 생성, 이름 변경, 삭제 등)에 대하여 기능함 -
<OPTION>
None
: 현재 체크인하고 있는 커밋으로부터 분기하는 새로운 브랜치<BRANCH-NAME>
를 생성함-m
: 현재 체크인하고 있는 브랜치 이름을<BRANCH-NAME>
으로 변경함-d
: 브랜치<BRANCH-NAME>
를 삭제함
Check-In
1
git switch <OPTION> <BRANCH-NAME>
-
switch
: 브랜치 및 커밋의 전환에 대하여 기능함 -
<OPTION>
-c
: 현재 체크인하고 있는 커밋에서 분기하는 새로운 브랜치를 만들고 해당 브랜치로 체크인함
Integration
Merge
1
2
git switch <OPTION> <BASE-BRANCH>
git merge <OPTION> <TARGET-BRANCH>
-
merge
: 현재 체크인한 브랜치에서 다른 브랜치를 병합하여 새로운 커밋을 생성함 -
<OPTION>
--abort
: 충돌 시 병합을 중단함--continue
: 충돌 시 병합을 재개함
Rebase
1
2
git switch <OPTION> <TARGET-BRANCH>
git rebase <OPTION> <BASE-BRANCH>
-
rebase
: 현재 체크인한 브랜치 내역을 다른 브랜치와 공통분모가 되는 커밋에 삽입함 -
<OPTION>
--abort
: 충돌 시 병합을 중단함--continue
: 충돌 시 병합을 재개함
Reference
This post is licensed under
CC BY 4.0
by the author.