브랜치
: 협업 시 이용하여 독립적인 환경에서 개발을 진행할 수 있음
Git 브랜치 전략
: 프로젝트의 Git 브랜치를 효과적으로 관리하기 위한 워크플로우
Git-Flow
Main 브랜치
출시 가능한 프로덕션 코드
개발 프로세스 전반에 걸쳐 유지
프로젝트 시작 시 생성
Tag를 이용해 배포 버전 표시
Develop 브랜치
다음 버전 개발을 위한 코드
개발 프로세스 전반에 걸쳐 유지
개발 완료 시 Main 브랜치로 머지
Feature 브랜치
기능 개발을 위한 브랜치
Develop 브랜치에서 생성
개발 완료 시 머지 커밋 생성 후 (Fast-Forward 사용 X) Develop 브랜치에 머지
ex.
feature/branch-name
Release 브랜치
소프트웨어 배포 준비(버그 수정 등)를 위한 브랜치
Develop 브랜치에서 생성
개발 완료 시 Main과 Develop 브랜치 모두에 머지
ex.
release/v1.1
Hotfix 브랜치
이미 배포된 버전에 발생한 문제 해결을 위한 브랜치
Main 브랜치에서 생성
해결 완료 시 Main과 Develop 브랜치 모두에 머지
ex.
hotfix/v1.0.1
웹 어플리케이션에 부적합: 사용자는 항상 최신의 단일 릴리즈 버전을 사용하기 때문에 여러 버전의 소프트웨어를 지원할 필요 X
Github-Flow
Main 브랜치
항상 stable한 상태여야 함
모든 커밋은 빌드가 되고 테스트를 통과해야 함
Topic 브랜치
Main 브랜치에서 생성
기능을 설명하는 이름으로 명확하게 네이밍
기능이 완성되지 않더라도 꾸준이 push
PR을 개설하여 코드리뷰와 approve를 얻음
자동화 된 CI 빌드를 통과해야 머지 가능
변경 사항을 신속하게 병합하고 배포할 수 있는 구조
참고