Gitflow 는 Git 기반 버전 관리 시스템에서 널리 사용되는 브랜치 모델 중 하나입니다. 이 모델은 프로젝트에서 브랜치와 릴리스를 잘 정리하고 관리하는 방법을 제공합니다.

단일 주요 브랜치 대신, 프로젝트의 이력을 기록하기 위해 두 개의 브랜치를 사용합니다. main 브랜치 는 공식 릴리스 이력을 저장하고, develop 브랜치 는 기능의 통합 브랜치로 사용됩니다.
💡 main 브랜치 의 모든 커밋에 버전 번호를 태깅하는 것이 편리합니다.
git branch develop
git push -u origin develop

💡 일반적으로 feature 브랜치는 최신 develop 브랜치에서 생성됩니다.
📌 기능 브랜치 생성하기:
# develop 브랜치로 전환
git checkout develop
# 새로운 기능 브랜치를 생성
git checkout -b [브랜치명]
📌 기능 브랜치 완료하기:
# develop 브랜치로 전환
git checkout develop
# 기능 브랜치를 develop 브랜치로 병합
git merge feature_branch

💡 이를 통해 한 팀은 현재 릴리스를 정리하고 다른 팀은 다음 릴리스의 기능을 개발할 수 있어 개발 단계가 명확해집니다.
📌 release 브랜치 생성하기:
# develop 브랜치로 이동
git checkout develop
# 새로운 릴리스 브랜치를 생성
git checkout -b release/0.1.0

📌 핫픽스 브랜치 생성하기:
# main 브랜치로 이동
git checkout main
# 새로운 핫픽스 브랜치 생성
git checkout -b hotfix_branch
📌 핫픽스 브랜치 main과 develop으로 병합하기:
git checkout main
git merge hotfix_branch
git checkout develop
git merge hotfix_branch
💡 main 브랜치가 있는 저장소가 설정되어 있다고 가정
📌 Gitflow 작업 방법 한 눈에 보기:
# main 브랜치로 이동
git checkout main
# develop 브랜치 생성
git checkout -b develop
# feature_branch 생성
git checkout -b [브랜치명]
- 기능 브랜치에서 작업 진행 -
# 기능 브랜치에서 작업이 완료되면
git checkout develop
# 기능 브랜치를 develop 브랜치에 병합
git merge [브랜치명]
# main 브랜치로 이동
git checkout main
# develop 브랜치를 main 브랜치에 병합
git merge develop
# 기능 브랜치 삭제
git branch -d [브랜치명]