🚦Git Flow 전략 완벽 정리
- 협업을 위한 체계적인 브랜치 관리 전략


✅ Git Flow란?

Git Flow는 Vincent Driessen이 제안한 Git 브랜치 관리 전략으로,
여러 명이 협업할 때 개발, 배포, 수정 작업을 안정적으로 나누어 진행할 수 있도록 체계를 잡아주는 방법입니다.

기본적으로 역할이 명확한 브랜치를 정의하고,
기능 개발 → 테스트 → 배포로 이어지는 일련의 과정을 브랜치 흐름으로 시각화합니다.


🏷️ Git Flow의 5가지 주요 브랜치

브랜치 역할
main 최종 배포된 제품 버전이 존재 (항상 안정적인 코드)
develop 다음 버전을 위한 통합 개발 브랜치, 기능들이 이곳에 모임
feature/* 새로운 기능 개발용 브랜치 (feature/login 등)
release/* 배포 전 단계에서 테스트/버그 수정 진행 (release/1.0.0)
hotfix/* 배포된 main 브랜치에 치명적 버그가 발생했을 때 긴급 수정용 (hotfix/urgent-bug)

🧭 Git Flow 작업 흐름

1. main → 가장 안정적인 배포 코드
2. develop → 기능들을 병합해가는 통합 브랜치

[기능 개발 단계]
- develop → feature/* → develop

[배포 준비 단계]
- develop → release/* → main + develop

[긴급 버그 수정]
- main → hotfix/* → main + develop

🧪 예시 흐름 보기

✅ 기능 개발

git checkout develop
git checkout -b feature/login
# 작업 후
git commit -m "Add login feature"
git checkout develop
git merge feature/login
git branch -d feature/login

✅ 릴리즈 준비

git checkout develop
git checkout -b release/1.0.0
# 테스트 및 버그 수정
git commit -m "Fix minor issues"
git checkout main
git merge release/1.0.0
git tag -a v1.0.0 -m "Release 1.0.0"
git checkout develop
git merge release/1.0.0
git branch -d release/1.0.0

✅ 긴급 수정

git checkout main
git checkout -b hotfix/urgent-fix
# 버그 수정
git commit -m "Fix production bug"
git checkout main
git merge hotfix/urgent-fix
git tag -a v1.0.1 -m "Hotfix release"
git checkout develop
git merge hotfix/urgent-fix
git branch -d hotfix/urgent-fix

📦 Git Flow 전략의 장점

항목 설명
✅ 역할 구분 명확 브랜치마다 목적이 분리되어 협업에 유리
✅ 배포 시점 관리 쉬움 release, hotfix로 안정된 배포 프로세스 가능
✅ 충돌 관리 용이 기능 별 feature 브랜치로 분산 작업 가능
✅ 안정성 확보 main은 항상 배포 가능한 상태로 유지됨

⚠️ 단점 및 실무에서의 보완점

항목 설명
❗ 브랜치가 많아짐 브랜치 관리가 복잡해지고 무거워질 수 있음
❗ 빠른 배포와는 거리 있음 CI/CD 파이프라인과 속도가 안 맞을 수 있음
❗ 릴리즈 주기가 짧으면 비효율 release 브랜치가 너무 자주 생기면 오히려 불편함

💡 실무 팁

  • 1~3인 규모의 사이드 프로젝트에는 단순한 main + feature/*만 써도 충분함
  • 단순화된 GitHub Flow 또는 Trunk Based Development와 혼용하기도 함
  • 릴리즈 자동화(CI/CD)와 함께 쓰려면 release 브랜치를 과감히 생략하기도 함

🔚 마무리

Git Flow는 역할이 명확한 브랜치 전략으로,
개발/테스트/배포 과정을 체계적으로 관리할 수 있게 도와주는 훌륭한 도구입니다.

협업이 많아지고 릴리즈 주기가 명확한 팀이라면,
Git Flow는 팀 생산성과 품질을 동시에 높여줄 수 있는 브랜치 전략입니다.

 

 

 

'Git > GitHub' 카테고리의 다른 글

Git Flow 전략 - 실전 예시  (0) 2025.05.03
GitHub - Image 올리기 (README, Issue, PR)  (0) 2021.08.22

+ Recent posts