브랜치 전략의 종류
- Git Flow
- GitHub Flow
- GitLab Flow
- Feature Branch Workflow
- Git-Flow Extension
- Trunk-Based Development
- Released Flow
Git Flow
-
주요 브랜치
- main (제품 출시 버전)
- develop (다음 출시를 위한 통합 브랜치)
-
보조 브랜치
- feature (새 기능 개발)
- release (출시를 준비하는 브랜치)
- hotfix (긴급한 버그 수정)
GitHub Flow
- 주요 브랜치
- 브랜치 생성
- 기능 추가나 버그 수정을 위해 새로운 브랜치를 만들고, 작업이 끝나면 main으로 병합
- 베포
Gitlab Flow
- 주요 브랜치
- main (계속해서 베포 가능한 상태를 유지)
- 브랜치 생성
- 새로운 기능이나 버그 수정과 같은 작업은 새로운 브랜치에서 시작하여 개발
- main 브랜치로 병합(merge) 하기 전에 Merge Request를 생성
- 베포
- 코드가 main 브랜치로 병합되면 자동으로 베포 파이프라인이 실행
추가적인 고려
- QA를 어느 브랜치에서 할 것이냐?
(* QA란? : "Quality Assurance"의 약자로, 품질 보증을 의미함 소프트웨어의 품질을 보장하기 위해 진행되는 다양한 활동과 절차를 포함)
- 병렬적인 개발을 위한 브랜치 전략은?
- develop (개발존 베포 전략 n개)
- feature1
- feature2
- feature3