본문 바로가기
Git/관련 지식

Git 브랜치 전략 - Git Flow, GitHub Flow

by 정구정구 2026. 6. 2.

Git Flow 

제품 출시 버전, 개발 버전, 기능, 출시 준비, 버그 수정 등 다양한 브랜치를 관리하게 지원

브랜치 구성

Feature Branch

역할

  • 새로운 기능 개발을 위한 브랜치
  • 보통 develop 브랜치에서 분기하여 작업을 시작하고, 기능 개발 완료 후 develop 브랜치에 병합
  • feature/login-page, feature/api-integration 등 기능 이름을 포함

 

Develop Branch

 역할

  • 새로운 기능 개발, 버그 수정 등 모든 작업의 기반 브랜치
  • 가장 활발히 작업하는 브랜치로, 실험적 코드와 아직 완전하지 않은 변경 사항이 포함됨

특징

  • 안정적이지 않으며, 테스트가 완벽히 이루어지지 않은 상태의 코드 포함

 

Release Branch

역할

  • 배포 전 최종 테스트 및 품질 보증(QA)을 위한 브랜치
  • develop 브랜치에서 분기하며, 모든 버그가 수정되고 테스트를 통과하면 master 브랜치로 병합
  • 테스트 중 발견된 버그는 release 브랜치에서 수정한 후 병합

 

Hotfix Branch

 

역할

  • 프로덕션에서 발생한 긴급 버그 수정을 위한 브랜치
  • master 브랜치에서 바로 분기하여, 수정 후 master 브랜치 develop 브랜치로 병합
  • hotfix/payment-error 처럼 작명

 

Master(Main) Branch

역할

  • 실제 사용자가 접근하는 환경의 코드를 포함
  • 이 브랜치는 반드시 안정적이고 배포 가능한 상태를 유지

특징

  • 긴급 수정이 필요한 경우, hotfix 브랜치를 사용
  • 버전 태그를 통해 배포 이력을 관리하는 경우가 많음

 

Flow

  • 기능 개발을 위해, develop 브랜치로 부터 feature 브랜치 생성 후 작업. 작업 완료 후 develop 브랜치에 병합
  • develop 브랜치 feature 브랜치가 아니더라도 자유롭게 팀원들이 커밋 가능

 

  • 다음 출시 버전을 위해 release 브랜치를 따서 배포 전 테스트
  • 발견된 버그들은 release 브랜치에서 바로 수정하거나 develop 브랜치에서 수정 후 병합

 

 

  • release 브랜치에서 테스트가 끝나면 Master 브랜치로 병합하여 제품을 출시

 

  • 배포된 Master 브랜치에서 버그가 발생한 경우, hotfix 브랜치를 생성한 뒤, 버그를 수정하여 Master 브랜치 develop 브랜치에 업데이트 

 

GitHub Flow 

master 브랜치feature 브랜치만으로 구성되어, 훨씬 간단하고 빠르게 수정 배포 할 수 있는 전략

브랜치 구성

Feature Branch

역할

  • 새로운 기능 개발을 위한 브랜치
  •  Master 브랜치에서 분기하여 작업을 시작하고, 기능 개발 완료 후 Master 브랜치에 병합
  • feature/login-page, feature/api-integration 등 기능 이름을 포함

 

Master(Main) Branch

역할

  • 실제 사용자가 접근하는 환경의 코드를 포함
  • 이 브랜치는 반드시 안정적이고 배포 가능한 상태를 유지

특징

  • 버전 태그를 통해 배포 이력을 관리하는 경우가 많음

 

Flow

  • 신규 기능 개발 시, master 브랜치에서 직접 feature 브랜치를 만들어서 개발

 

  • feature 브랜치에서 기능 개발이 완료되면 github 내에서 PR 리뷰 진행
  • 문제가 없다고 판단되면 master 브랜치에 병합

 

차이점

  • Git Flow는 안정성에서 강점을 가지므로, 대규모 프로젝트에 적합
  • GitHub Flow는 단순성과 민첩성에서 강점을 가지므로, 소규모 프로젝트에 적합

 

'Git > 관련 지식' 카테고리의 다른 글

Git 브랜치 전략 - 3 브랜치  (0) 2026.06.02
GIT 사용법  (0) 2026.05.18