Git Flow

- master : 제품으로
출시될 수 있는 브랜치
- develop : 다음 출시 버전을 대비하여
개발하는 브랜치
- feature :
기능을 개발하는 브랜치.
- release : 배포를 위해 master 브랜치로 보내기 전에 먼저
QA(품질검사)를 하기위한 브랜치
- hotfix : 출시 버전에서 발생한
버그를 수정 하는 브랜치
메인 브랜치
- main branch 에는 master branch 와 develop branch 가 있다.
- 처음 master 브랜치에서 분기하는 것으로 시작하며 다음 버전 구현이 완료되어 배포를 하고 싶을 때 master로 다시 합치는 방식으로 운영된다.
- develop 브랜치는 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행한다.
보조 브랜치
보조 브랜치들은 필요할 때마다 생성되고, 역할을 다하면 삭제된다. 이 보조 브랜치 덕분에 병렬적인 업무가 가능해진다.
Feature 브랜치
- 하나의 기능을 개발하기 위한 브랜치. develop 브랜치에서 생성하며, 기능이 개발 완료되면 다시 develop 브랜치로 머지된다.
- 브랜치명은 보통 팀 컨벤션을 따른다.
ex) feature/logi feature/#1(issue 번호)
Release 브랜치
- 소프트웨어 배포를 준비하기 위한 브랜치. 버전 이름을 수정하거나 배포전 사소한 버그를 수정하기 위해 사용된다.
- develop 브랜치에서 생성하며, 배포 준비가 완료되었다면 master브랜치에 머지한다. 이때, master 브랜치에는 태그를 이용하여 버전을 표시한다. release 브랜치에서 기능을 점검하며 발견한 버그 수정 사항은 develop 브랜치에 대해서도 merge 작업을 수행해준다.
- 네이밍은 주로
release-1.2, release/1.2 과 같은 형태로 생성한다.
Hotfix 브랜치
-
이미 배포된 버전에 수정사항이 생겼을 경우, hotfix 브랜치를 사용하여 문제를 해결한다.
-
master 브랜치에서 분기하여 hotfix 브랜치를 생성하며, 문제 해결이 완료되면 master과 develop 브랜치에 둘다 머지한다. 이때 tag를 통해 관련 정보를 기록해 둔다.
-
네이밍은 보통 hotfix/v1.0.1 과 같은 형태로 생성.