CS/DEPLOY
git flow 전략
휴먼코딩
2024. 8. 14. 22:05
Git Flow 전략
- 메인 브랜치 (Main Branch)
- main 또는 master 브랜치라고도 하며, 프로덕션에 배포된 안정적인 코드가 포함된다.
- 개발 브랜치 (Develop Branch)
- develop 브랜치는 개발 중인 기능이 통합되는 브랜치로, 새로운 기능 개발이 완료된 후 main 브랜치에 병합된다.
- 기능 브랜치 (Feature Branch)
- feature/ 접두사를 사용하여 생성되며, 새로운 기능 개발을 위한 브랜치이다. develop 브랜치에서 파생되어 작업이 완료된 후 develop 브랜치에 병합된다.
- 릴리즈 브랜치 (Release Branch)
- release/ 접두사를 사용하여 생성되며, 릴리즈 준비를 위한 브랜치이다. 기능이 완료된 후 릴리즈 브랜치를 통해 최종 버그 수정과 테스트를 수행하며, 완료되면 develop 및 main 브랜치에 병합된다.
- 핫픽스 브랜치 (Hotfix Branch)
- hotfix/ 접두사를 사용하여 생성되며, 프로덕션 환경에서 발견된 긴급한 문제를 수정하기 위한 브랜치이다.
- 수정이 완료되면 main 및 develop 브랜치에 병합된다.
뭔가를 배포하거나 개발을 할때는 Develop이 Baseline이 되고
운영 중에 뭔가 급하게 고쳐야될 때 Master 브랜치에서 Hotfix 브랜치로
개발이 완료 된 후에는 release 브랜치에서 QA를 거쳐서 문제가 없을 경우 main 브랜치에 배포
Epic Branch
- Epic Branch는 여러 기능(Feature Branch)을 포함하는 큰 작업 단위이다.
- 특정 프로젝트나 큰 기능을 나타내며, 여러 개의 기능 브랜치를 포함하여 작업을 진행한다.
- 생성: Epic Branch는 일반적으로 epic/ 접두사를 사용하여 생성된다.
- 예를 들어, epic/user-authentication이라는 브랜치를 생성한다.
1. 주요 기능 또는 큰 작업이 정의되면 develop 브랜치에서 Epic Branch를 생성한다.
git checkout develop
git checkout -b epic/user-authentication
2. Epic Branch에서 필요한 여러 기능을 구현하기 위해 기능 브랜치를 생성한다.
예를 들어, epic/user-authentication 브랜치에서 feature/login과 feature/registration 브랜치를 생성하여
각각의 기능을 개발한다.
git checkout epic/user-authentication
git checkout -b feature/login
git checkout epic/user-authentication
git checkout -b feature/registration
3. 각 기능 브랜치에서 작업이 완료되면 Epic Branch로 병합한다.
# 기능 브랜치에서 작업 후
git checkout epic/user-authentication
git merge feature/login
git merge feature/registration
4. Epic Branch에서 모든 기능이 완료되면, Epic Branch를 develop 브랜치에 병합하여 전체 기능을 통합한다.
git checkout develop
git merge epic/user-authentication
5. 이후, 릴리즈 준비가 완료되면 develop 브랜치에서 릴리즈 브랜치를 생성한다.
git checkout develop
git checkout -b release/1.0