뒤로
박영현
·
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
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.