본문 바로가기
공부/Git&Github

브랜치 전략(GitHub Flow)

by xladmt 2024. 5. 21.

브랜치 전략의 종류

  • Git Flow
  • GitHub Flow
  • GitLab Flow
  • Feature Branch Workflow
  • Git-Flow Extension
  • Trunk-Based Development
  • Release Flow

 

Git Flow

주요 브랜치

  • main (제품 출시 버전)
  • develop (다음 출시를 위한 통합 브랜치)

보조 브랜치

  • feature (새 기능 개발)
  • release (출시를 준비하는 브랜치)
  • hotfix (긴급한 버그 수정)

 

Gitlab Flow

주요 브랜치

  • main (계속해서 배포 가능한 상태를 유지)

브랜치 생성

  • 새로운 기능이나 버그 수정과 같은 작업은 새로운 브랜치에서 시작하여 개발
  • main 브랜치로 병합(Merge)하기 전에 Merge Request를 생성

배포

  • 코드가 main 브랜치로 병합되면 자동으로 배포 파이프라인이 실행

 

GitHub Flow 

Github flow란?

개발자들이 협업하고 소프트웨어를 개발하는 데 사용하는 브랜칭 전략 및 워크플로우

주요 브랜치

  • main (항상 배포 가능한 상태를 유지)

브랜치 생성

  • 기능 추가나 버그 수정을 위해 새로운 브랜치를 생성하고, 작업이 끝나면 main로 병합

배포

  • 릴리스 관리는 태깅을 통해 수행

github flow 주요 단계

  • 브랜치 만들기 (Create a Branch)
  • 코드 작업 (Add Commits)
  • Pull Request 열기 (Open a Pull Request)
  • 토론 및 리뷰 (Discuss and Review)
  • 병합 (Merge)
  • 배포 (Deploy)

Github flow 장점

  • 단순함, 직관적
  • 지속적인 통합과 배포에 이상적
  • 자동화 용이
  • 쉬운 롤백
  • 소규모 팀의 애자일 및 지속적 개발에 적합
  • 작은 변경 사항을 빠르게 배포
  • 빠른 사용자 피드백

Github flow 단점

  • 대규모 프로젝트의 복잡성을 다루기
  • 독립적인 기능을 구현하기 어려움
  • 코드 충돌 가능성이 높음
  • 롤백의 복잡함

'공부 > Git&Github' 카테고리의 다른 글

Github란?  (0) 2024.05.21
Git 고급 명령어  (0) 2024.05.20
Git 명령어 정리  (0) 2024.05.20