Git Flow 브랜치 전략

LeeKyungwon·2026년 5월 22일

공부 정리

목록 보기
15/32

Git Flow

main 또는 master 브랜치와 development 브랜치를 유지하면서 용도에 따라 임시적으로 feature, release, hotfix 브랜치를 생성해서 사용하는 방식의 전략
브랜치 별로 약속된 역할에 맞게 생성하여 사용하게 된다.
각 브랜치를 통해 규칙에 맞는 흐름(flow)대로 작업이 이루어지는 것을 지향한다.

  • master : 정식 배포의 기준이 되는 브랜치, 항상 안정적인 제품이 서비스될 수 있는 소스코드이며 언제나 배포가능한 상태로 유지되어야 하는 브랜치이다.
  • develop : 개발 중인 코드를 관리하는 브랜치, 새로운 기능 개발과 개발된 변화를 담은 버전 배포작업이 시작될 수 있는 브랜치이다.

develop 브랜치에서 기능 개발과 릴리즈를 준비한다.
이런 경우 feature, release 브랜치를 develop 브랜치로부터 생성해서 작업을 하게 된다.

  • feature : 개발할 기능을 위한 브랜치, 기능 개발이 완료되면 그 변화가 develop 브랜치로 병합하고 feature 브랜치는 제거된다.
  • release : 배포를 위한 브랜치, 배포 전 마무리 작업과 버그 수정이 이루어진다. 완료되면 master와 develop 브랜치로 병합된다. 릴리즈다 끝나면 제거된다.

master 브랜치에 긴급한 수정이 필요할 때는 hotfix 브랜치를 활용해서 빠르게 배포하기도 한다.

  • hotfix : 긴급한 버그 수정을 위한 브랜치, master 브랜치에서 발생한 버그를 고티고 master와 develop 브랜치로 병합한다. master 브랜치를 기준으로 생성하기 때문에 빠르게 master에 병합해서 버그에 대응할 수 있다.

Git flow는 안정적인 코드 배포를 위한 전략이지만 프로젝트가 작을 때는 비효율적일 수 있다. 배포주기가 긴 대형 서비스이면서, 서비스의 안정성이 강조되는 경우에 좋은 전략이 될 수 있다.

  • 장점 :
    - 안정적인 배포를 위한 구조가 갖춰져 있다.
    • 긴 개발 주기에 적합하며 복잡한 기능 개발과 버그 수정에 유용하다.
    • 배포 전 마무리 작업과 테스트를 위한 release 브랜치를 사용할 수 있다.
  • 단점 :
    - 브랜치가 많아지고 관리해야 할 작업이 증가할 수 있다. (이를 보완하기 위한 git flow 도구가 있을 정도)
    • 작은 규모의 프로젝트에서는 비효율적일 수 있다.

0개의 댓글