따꿍의 프로젝트

[공통] Git Flow 브랜치 전략에 대해 설명해 주세요 본문

웹프로젝트/코드잇

[공통] Git Flow 브랜치 전략에 대해 설명해 주세요

공장 주인 따꿍 2026. 4. 1. 18:34

Git Flow는 팀 협업에서 브랜치를 체계적으로 관리하기 위한 전략으로, Vincent Driessen이 제안한 모델입니다.
핵심은 브랜치 역할을 명확히 나누고, 정해진 흐름대로 병합하는 것입니다.


🔥 Git Flow의 핵심 브랜치 구조

1. main (또는 master)

  • 배포 가능한 안정 버전만 존재
  • 항상 프로덕션 상태 유지
  • 직접 작업 ❌

2. develop

  • 다음 릴리즈를 위한 개발 통합 브랜치
  • 모든 feature가 여기로 모임

3. feature 브랜치

  • 새로운 기능 개발용

✔ 특징

  • develop에서 분기
  • develop으로 merge
 
git checkout develop
git checkout -b feature/login
 

4. release 브랜치

  • 배포 준비 단계

✔ 특징

  • develop → release 분기
  • 버그 수정, QA, 테스트
  • 완료되면 main + develop 둘 다 merge
 
git checkout develop
git checkout -b release/1.0
 

5. hotfix 브랜치

  • 긴급 배포용 버그 수정

✔ 특징

  • main에서 분기
  • 수정 후 main + develop에 merge
 
git checkout main
git checkout -b hotfix/critical-bug
 

🔁 전체 흐름

feature → develop → release → main
↘ develop
 

hotfix는:

main → hotfix → main
↘ develop
 

💡 핵심 특징

✔ 장점

  • 역할이 명확 → 협업하기 좋음
  • 배포 안정성 높음
  • 큰 프로젝트에 적합

✔ 단점

  • 브랜치 많아서 복잡
  • CI/CD 환경에서는 느릴 수 있음
  • 작은 프로젝트엔 과함

🔥 언제 쓰냐

👍 적합

  • 배포 주기가 명확한 서비스
  • 여러 명이 동시에 개발
  • QA/테스트 단계가 중요한 경우

👎 비추천

  • 스타트업 / 빠른 배포 (→ trunk-based가 더 적합)
  • 단순 개인 프로젝트

🚀 한 줄 요약

👉 Git Flow는 “기능 개발 → 통합 → 배포 준비 → 배포”를 브랜치로 분리한 체계적인 협업 전략