Skip to content

Branch Strategy

Joonyong Ji edited this page Dec 27, 2023 · 11 revisions

브랜치 전략

Git-Flow

특징

  • main(master), develop, release, support(feature, fix, ...), hotfix로 구분하여 사용
  • 명확한 릴리즈 기간, 주기적인 버전이 정해진 프로덕트를 개발하는 환경에 적합
  • 릴리즈 버전 관리를 위한 release 브랜치를 별도 관리.
    • 특정 버전에 대한 유지 보수 기간이 길고, 여러 버전을 동시 관리해야 할 때 유용.

사용 규칙

  • 브랜치 구분
    • main으로부터 develop 브랜치 분리
      • main 브랜치에서 긴급한 버그 식별 시, hotfix 브랜치 분리
    • 릴리즈 버전 관리: develop으로부터 release 브랜치 분리
    • 기능 개발: develop으로부터 support 브랜치(feature, fix, ...) 분리
    • 브랜치에 대한 컨벤션은 Branch Convention에서 확인
  • Merge
    • 원칙: 1이슈 - 1브랜치 - 1PR을 원칙으로 한다.
    • 종류
      • Squash & Merge: feature -> develop
      • No Fast-Forward Merge: (release, hotfix) -> (develop, main)
      • Rebase & Merge: merge 전 브랜치 최신화
Clone this wiki locally