Git

Git Flow / Github Flow

나야, 웅이 2025. 2. 3. 14:34
728x90
반응형
SMALL

Git Flow vs Github Flow

  • Github Flow와 Git Flow는 각각 Git을 활용한 워크플로우(브랜치 전략)이다.
  • 두 방법은 팀의 개발 방식, 배포 주기, 프로젝트의 복잡도 등에 따라 선택될 수 있다.

Github Flow

간단하고 경량화된 워크플로우

  • 주요 브랜치 : main (또는 master) 브랜치 하나를 기준으로 운영
  • 작업 방식 : 새로운 기능이나 버그 수정 시, main에서 파생된 feature, branch를 만들어 작업 후 Pull Request(PR)를 통해 리뷰하고, 문제가 없으면 main브랜치에 merge한다.
  • 배포 : PR이 merge되면 즉시 배포하는 형태가 일반적이다. 지속적 통합(Continuous Intergration)과 지속적 배포(Continouse Deployment)환경에 적합하다.

유연성과 속도

  • 코드 리뷰 중심 : PR을 통해 코드 리뷰와 토론이 이루어지며, 빠른 피드백과 반영이 가능하다.
  • 짧은 개발 사이크 : 기능 개발 및 배포가 빠르게 이루어져, 빈번한 릴리즈와 릴리즈 자동화에 적합하다.

Git Flow

체계적이고 복잡한 브랜치 구조

  • 주요 브랜치 : master(또는 main)와 develop브랜치를 기본으로 사용한다.
    • develop: 다음 릴리즈를 위한 통합 브랜치
    • master: 프로덕션 배포 버전 관리
  • 보조 브랜치 :
    • feature: 새로운 기능 개발 시 develop에서 분기하여 작업
    • release: 릴리즈 준비 단계에서 develop 브랜치로부터 분기하여 버그 수정 및 최종 테스트 후 master와 develop에 병합.
    • hotfix: 프로덕션 환경에서 긴급한 버그 수정을 위해 master에서 직접 분기하여 작업 후 develop에도 병합.

버전 관리와 릴리즈 사이클 중심

  • 명확한 버전 관리 : 각 릴리즈와 핫픽스에 대해 명확한 브랜치 전략을 통해 안정적인 배포를 도모한다.
  • 긴 개발 사이클 : 기능 개발 후 여러 단계를 거쳐 릴리즈하는 형태로, 릴리즈 주기가 상대적으로 길다.
728x90
반응형
LIST

'Git' 카테고리의 다른 글

Git 명령어 정리(Git cheat sheet)  (0) 2025.02.03
Git 작업 영역  (0) 2025.02.03