뒤로
박영현
박영현 ·

Git Branch 전략

git에서 공동 작업을 할 때, 어떠한 브랜치에서 분기해서 작업 후 작업한 브랜치를 다른 브랜치로 merge하는 식으로 작업을 하게 된다.

이 때 branch를 관리하는 규칙이 git branch 전략이다.

가장 많이 사용되는 전략으로는 git flow, github flow 두 가지가 있다.

Git Flow

체계적이고 엄격한 브랜치 전략

브랜치 종류

  • main: 배포에 사용하는 브랜치

  • develop: 개발 내용 통합에 사용하는 브랜치 (master 브랜치에서 분기)

  • feature/*: 특정 기능을 개발하는 브랜치 (develop에서 분기)

  • release/*: 배포 준비를 위해 QA를 수행하는 브랜치 (develop 브랜치에서 분기)

  • hotfix/*: 운영 중 발견된 버그를 수정하는 브랜치 (main 브랜치에서 분기)

장점

  • 브랜치 역할이 명확

  • 릴리즈 브랜치를 통해 안정적인 버전 관리 가능

단점

  • 브랜치가 많아서 복잡

  • 릴리즈 주기가 잦으면 관리 부담이 큼

적합한 사용 케이스

  • 명확한 릴리즈 주기가 있는 경우

  • QA와 운영을 분리하는 환경인 경우

Github Flow

단순한 브랜치 전략

브랜치 종류

  • main: 배포에 사용하는 브랜

  • feature branches: 특정 기능을 개발하는 브랜치 (main 브랜치에서 분기, PR을 통해 코드 리뷰 및 merge)

장점

  • 단순하고 직관적

  • CI/CD를 활용한 빠른 배포 가능

단점

  • 버전 관리 어려움

  • QA 및 스테이징 단계 관리 어려움

  • 긴급 버그 수정 어려움

적합한 사용 케이스

  • 빠른 릴리스가 필요한 스타트업

  • 단일 운영 환경 소규모 팀

  • 테스트 자동화와 CD가 잘 갖춰진 팀

2

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.