FE_Jay
로그인
FE_Jay
로그인
Git Branch 전략
박인정(Jay)
·
2024년 11월 28일
팔로우
1
git
Git Flow
주요 브랜치
master : 제품 출시 브랜치
develop : 개발 브랜치
feature : 기능 개발 브랜치
release : 출시 준비 브랜치
hotfix : 긴급 버그 수정 브랜치
장점
체계적인 버전 관리
대규모 프로젝트에 적합
안정적인 배포 관리
팀 규모가 작은팀인 경우 GitHub Flow나 Trunk-Based Development가 적합
큰 팀 : Git Flow와 같은 구조화된 전략이 효과적
팀 성숙도
성숙한 팀 : Git Flow와 같은 복잡한 전략 도입 가능
협업 경험이 적은 팀 : 단순한 Feature Branch 전략 추천
배포 주기
잦은 배포 : Trunk-Based Development나 GitHub Flow
정기 배포 : Git Flow나 Release Branch 전략
프로젝트 복잡도
단순한 프로젝트 : Feature Branch나 Trunk-Based Development
복잡한 프로젝트 : Git Flow나 Release Branch 전략
테스트 자동화 수준
자동화된 테스트가 잘 갖춰진 경우 : Trunk-Based Development 가능
수동 테스트가 많은 경우 : Feature Branch나 Git Flow 권장
단점
복잡한 브랜치 구조
느린 배포 주기
브랜치 관리 오버헤드
GitHub Flow 구조
main : 항상 배포 가능한 상태 유지
feature : 기능 개발용 브랜치
장점
단순한 구조
빠른 배포 가능
CI/CD에 적합
단점
버전 관리가 어려움
대규모 프로젝트에는 부적합
GitLab Flow
구조
production : 배포 브랜치
pre-production : 사전 배포 브랜치
main : 개발 브랜치
feature : 기능 개발 브랜치
장점
환경별 브랜치 관리 용이
단계적 배포 가능
Git Flow보다 단순
단점
환경별 브랜치 동기화 필요
중간 규모 이상 프로젝트에 적합
브랜치 전략 선택 시 고려사항
Trunk-Based Development
특징
단일 메인 브랜치 사용
작은 단위의 잦은 커밋
짧은 수명의 피처 브랜치
장점
빠른 개발 속도
간단한 브랜치 관리
지속적 통합 용이
단점
높은 수준의 자동화 필요
코드 품질 관리 어려움
Trunk-Based Development 추천
빠른 개발 속도
단순한 구조
즉각적인 배포
박인정(Jay)
백엔드 개발자에서 프론드엔드 개발자로
팔로우
이전 포스트
Git 이란?
다음 포스트
React Hook
0개의 댓글
댓글 작성