브랜치의 생성, 이동, 삭제, 병합 등의 기본 명령어부터, master, develop, feature, release, hotfix 등 다양한 브랜치의 역할과 용도에 대해 상세히 알려준다.
브랜치 관리에 대한 이해를 돕기 위해 각 브랜치의 작업 흐름과 사용 시나리오도 함께 설명하고 있다.
Branch
Command
생성
- git branch <branch>
branch 생성 - git checkout -b <branch>
branch 생성하며 이동(checkout)
이동
- git checkout <branch>
선택한 branch로 이동
삭제
- git branch -d[-D] <branch>
local branch (강제) 삭제 - git push -d[-D] origin <branch>
remote branch 삭제
병합
- git merge <branch>
현재 branch에서 해당 branch의 수정사항 가져오기
Naming
master branch
- 제품으로 출시될 수 있는 branch
- 기준이 되는 branch로 제품을 배포하는 branch
모든 repository의 기본(메인)으로, 일반적으로 repo의 모든 것은 master branch를 중심으로 행해진다.
최종 결과물은 master branch에 있기 마련이며, master branch로부터 파생된 다른 branch들로부터 수정 사항을 만든 후 master에 병합하는 과정을 거친다.
master branch에는 일반적으로 직접 수정을 가하지 않는다.
develop branch
- 다음 출시 버전을 개발하는 branch
- 개발자들이 해당 branch를 기준으로 각자 작업한 기능을 merge하기 위한 개발 branch
master에서 분기한 branch로, 개발자들이 자유롭게 commit을 한다.
기능 구현이 있는 경우 여기서 feature branch를 분기한다.
배포 준비를 위해 여기서 release branch를 분기한다.
feature branch
- 기능을 개발하는 branch
- 기능 개발이 완료되면 develop branch에 merge하기 위한 단위 기능 개발 branch
release branch
- 이번 출시 버전을 준비하는 branch
배포를 위해 master branch로 보내기 전 먼저 QA(품질 검사)를 하기 위한 branch 테스트를 진행하며 발생하는 버그 수정을 직접 반영한다.
테스트가 완료되면 해당 branch를 master와 develop에 merge한다.
hotfix branch
- 출시 버전에서 발생한 버그를 수정하는 branch
- master branch로 배포했는데 버그가 생겼을 때 긴급 수정하는 branch
📜참고
- https://nvie.com/posts/a-successful-git-branching-model/
- https://greeksharifa.github.io/github/2018/08/07/github-usage-04-branch-basic/
- https://greeksharifa.github.io/github/2018/08/11/github-usage-05-branch-basic/
- https://greeksharifa.github.io/github/2018/08/12/github-usage-06-branch-intermediate/
- https://uxgjs.tistory.com/183
'IT > Git' 카테고리의 다른 글
이클립스에서 코드를 누가 수정했는지 확인하려면 어떻게 해야할까? (0) | 2023.11.15 |
---|---|
Git의 개념 (0) | 2022.10.02 |
Git과 GitHub의 차이는 무엇일까? (0) | 2022.10.02 |