Git Branch 전략

EHminShoov2J·2024년 1월 4일
0

Git

목록 보기
1/3
post-thumbnail

Github 가이드: Branch

  • Git Flow와 Github Flow
    • Git을 사용하며 branch를 활용하는 전략입니다.
    • Local 중심의 Git flow와 Remote 중심의 Github flow가 대표적입니다.
    • Local Remote 중심은 최신 commit이 위치하는 곳을 의미합니다.
    • Git flow는 Local에 최근 작업한 commit들이, Github flow는 Local과 Remote에 위치합니다.

01 Git Flow

  • Gitflow: Local 중심 Branch 전략
    • 주요 branch로는 main(master), develop, release, feature, hotfix 등이 있습니다.

  • main(master)
    • 배포의 기준이 되며 Release Tag를 기록하는 브랜치입니다.
    • 배포용이므로 main에 직접 commit하거나 비배포용 branch에서 merge 금지.
    • hotfix 브랜치는 main에 직접 merge 가능.

  • develop
    • 주로 개발이 이루어지는 브랜치.
    • 동시 작업 시 conflict 발생 가능, 따라서 feature 브랜치에서 작업 후 develop에 merge 권장.

  • feature
    • 개발 작업의 핵심, develop에서 분기.
    • Issue에 등록된 기능, bugfix, refactoring 등을 수행.
    • 작업 완료 시 develop에 merge.
    • 예: feat, refactor, fix, docs 등의 prefix 사용.

  • release
    • 배포 준비를 위한 브랜치.
    • develop에서 분기, bugfix 및 추가 refactoring 진행.
    • 준비 완료 시 main에 merge.

  • hotfix
    • 배포된 버전(main)에서 문제 발생 시 사용.
    • main에서 분기, 문제 해결 후 main 및 develop에 merge.

02 Github Flow

  • Remote 중심 Branch 전략
    • Git Flow와 달리, 주로 main 브랜치와 feature 브랜치로 구성.
    • main은 배포의 중심, feature는 기능 개발의 중심.
    • Remote에 작업 내용을 수시로 push, 항상 최신 상태 유지.
    • 배포 준비용 브랜치 없이, main에 merge 시 엄격한 관리 필요.
    • Github Flow는 빠른 반영과 심플한 구조가 특징.

0개의 댓글