Gitflow는 Git 버전 관리 시스템을 사용하여 코드를 효율적으로 관리하기 위한 브랜치 전략이다.
특히 여러 개발자가 함께 프로젝트를 진행할 때 코드 버전 관리의 혼란을 줄이고 안정적인 개발 흐름을 유지하는 데 도움이 된다.
프로젝트 생명주기를 가지는 브랜치
master
브랜치: 제품으로 출시될 수 있는 브랜치. 최종 배포된 안정적인 코드를 보관한다.
develop
브랜치: 다음 배포 버전을 위한 기능 개발 및 버그 수정 작업이 진행되는 브랜치이다.merge 된 후 사라지는 임시 브랜치이다.
feature
브랜치: 각 개발자가 작업하는 기능을 구현하기 위한 개별 브랜치이다.
feature/add-user-authentication
또는 feature/update-dashboard-ui
와 같이 계층구조로 브랜치를 관리한다.develop
브랜치로 병합되어야 한다.release
브랜치: 배포를 준비하기 위해 develop 브랜치로부터 분기된 브랜치이다.
release/v1.0.0
와 같이 계층구조로 브랜치를 관리한다.[develop
브랜치의 작업 결과를 master
에 병합하기전 테스트 용도로 사용한다.master
develop
으로 병합되어야 한다.hotfix
브랜치: 긴급한 버그 수정을 위해 master 브랜치로부터 분기된 브랜치이다.
master
브랜치로부터 분기되고 작업완료후에는 master
로 바로 병합되어야 한다.develop
브랜치에도 back merge되어서 이후 개발 환경에도 적용시켜야 한다.1. feature 브랜치 생성:
develop 브랜치로부터 새로운 feature 브랜치를 생성하여 개별 기능 개발을 진행한다.
2. feature 브랜치 개발:
feature 브랜치에서 기능 개발 작업을 완료하고 코드 검토를 거친 후, develop 브랜치로 병합한다.
3. develop 브랜치 병합:
모든 feature 브랜치가 develop 브랜치로 병합되면, 코드 테스트 및 통합 작업을 진행한다.