본문 바로가기

Git

[Git] Branch Naming

Branch 종류

1. master 혹은 main 브랜치

배포 가능한 상태의 버전을 관리한다. 배포(release) 이력 관리를 위해 사용한다.

master 브랜치에는 함부로 병합을 하지 않는 것이 좋으며 태깅을 적용해서 버전관리를 해주는 것이 좋다. 

v0.1 -> v0.2 -> v1.0 ... 

https://kin3303.tistory.com/300

 

17. Git 브랜치 태깅하기 - git tag

사람들은 보통 릴리즈할 때 Tag 를 사용한다. Tag 조회하기 $ git tag v0.1 v1.3 검색 패턴을 사용하여 태그를 검색할 수 있다. $ git tag -l 'v1.8.5*' v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5

kin3303.tistory.com

 

2. deveop branch

기능 개발, 버그 수정등을 거친 각각의 브랜치들을 병합하여 배포 가능한 상태까지 develope 브랜치에 병합한다. 만약 모든 기능이 추가되고 버그가 수정되어 안정적으로 배포 가능한 상태에 도달한 경우 master 브랜치에 병합한다.

 

3. supporting branch

개별적이고 다양한 기능들을 독립적으로 관리하거나 버전관리, 버그 수정을 위해 실제적으로 작업이 이루어지는 브랜치이다. 개발이 완료되면 develop 브랜치로 병합하여 공유한다. 

 

- feature branch : 기능 개발, 버그 수정 시 develop 브랜치로부터 분기한다. 작업이 끝난 이후 feature branch를 삭제한다. issue를 생성하면서 feature branch를 생성할 수도 있다. 

//develop 브랜치에서 생성
$ git checkout -b feature/login develop

 

- release branch : 배포를 위한 전용 브랜치를 통해 배포를 준비하는 팀과 기능개발 팀을 나누어 작업할 수 있다. release branch는 배포를 위한 최종적 버그 수정, 문서 추가 등의 작업을 수행한다. 기능 추가는 이루어지지 않는다. 

 

- hotfix branch : 출시 버전에서 발생한 버그를 긴급하게 수정할 때 master 브랜치로부터 분기해 처리한다. 

Hotfix 이후 Tag는 v1.2 -> v1.2.1 로 증가한다. 

 

 

Branch 생성 네이밍 규칙

1. master, main, develop branch

본래 이름을 사용한다.

 

2. feature branch

  • 어떠한 이름도 가능하나 master, develop, release-..., hotfix-... 와 같은 이름은 사용할 수 없다.
  • feature/기능요약 형식을 추천한다. ex) feature/login
  • feature/{issue-number}-{feature-name} 이슈 추적을 사용할 경우 이와 같은 형식을 따른다.
  • ex) feature/1-init-project, feature/2-build-gradle-script-write

3. release branch

  • release-RB_...  또는  release-...  또는  release/... 와 같은 식으로 적는다. 
  • ex) release-1.2

4. hotfix branch

  • hotfix-... 형식으로 작성한다. ex) hotfix-1.2.1

 

참고

https://gmlwjd9405.github.io/2018/05/11/types-of-git-branch.html

 

[GitHub] Git 브랜치의 종류 및 사용법 (5가지) - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://nvie.com/posts/a-successful-git-branching-model/

 

A successful Git branching model

In this post I present a Git branching strategy for developing and releasing software as I’ve used it in many of my projects, and which has turned out to be very successful.

nvie.com

 

'Git' 카테고리의 다른 글

[GIT] 브랜치 이름 변경하기 Master -> Main  (0) 2023.03.29