Git

Git 브랜치 전략 – Git Flow vs Trunk Based 차이와 선택 가이드

jonbeo 2025. 10. 1. 10:11
반응형

 

 

 

안녕하세요 😊
개발 프로젝트에서 버전 관리와 협업은 매우 중요한데,
이를 어떻게 운영하느냐에 따라 개발 효율이 크게 달라집니다.

 

특히 Git을 사용할 때 많이 쓰이는 대표적인 브랜치 전략이
👉 Git Flow
👉 Trunk Based Development

 

오늘은 두 전략의 개념과 장단점을 비교해보고, 언제 어떤 방식을 선택하면 좋은지 알려드리겠습니다.


📍 1. Git Flow란?

Vincent Driessen이 제안한 전통적인 브랜치 전략으로, 대규모 프로젝트에서 많이 사용됩니다.

구조

  • main (master): 실제 배포 버전
  • develop: 다음 배포를 준비하는 통합 브랜치
  • feature/: 새로운 기능 개발용 브랜치
  • release/: 배포 준비용 브랜치
  • hotfix/: 긴급 수정용 브랜치

특징

  • 배포 주기가 길고, 안정성이 중요한 프로젝트에 적합
  • 여러 단계의 브랜치로 코드가 정리되어 관리 용이

👉 예시: 은행, 대기업 ERP, 전통적인 대규모 소프트웨어 프로젝트


📍 2. Trunk Based Development란?

최근 애자일(Agile), DevOps 환경에서 각광받는 방식입니다.

구조

  • main(또는 trunk) 하나만 두고,
  • 기능 개발 시 짧게 브랜치를 따서 개발 후 빠르게 병합

특징

  • 브랜치 수가 단순 → 충돌 줄어듦
  • CI/CD(지속적 통합/배포) 환경에 적합
  • 하루에도 여러 번 배포하는 서비스형 소프트웨어(SaaS)에 최적화

👉 예시: 스타트업, 웹 서비스, 빠른 업데이트가 중요한 플랫폼


📍 3. Git Flow vs Trunk Based 비교

구분 Git Flow Trunk Based
브랜치 구조 main, develop, feature, release, hotfix main 중심, feature 브랜치만 단기
배포 주기 길다 (수주~수개월) 짧다 (매일~매주)
안정성 높음, 단계적 검증 빠르지만 충돌 관리 필요
적합 환경 대규모, 금융/공공 시스템 스타트업, SaaS, 웹 서비스

📍 4. 선택 가이드

  • Git Flow 추천
    • 장기 프로젝트, 안정성이 최우선
    • QA, 배포 절차가 엄격한 조직
  • Trunk Based 추천
    • 빠른 기능 출시와 지속적 배포가 중요한 스타트업
    • CI/CD 자동화 환경 구축된 팀

✅ 마무리

  • Git Flow는 안정성을,
  • Trunk Based는 속도와 민첩성을 강조하는 전략입니다.

프로젝트 성격과 팀 문화에 맞는 전략을 선택하면,
불필요한 충돌과 운영 문제를 줄이고 효율적인 협업이 가능합니다. 🚀

반응형