브랜치 전략이란
한 프로젝트에서 동시에 여러명의 개발자가 여러개의 작업을 할 수 있기위해 고안된 방법
여러명의 개발자가 1개의 저장소를 사용하는 환경에서 효과적으로 작업하기 위해나온 개념이다.
프로젝트 규모와 프로젝트를 테스트하고 배포하는 방법에 따라 전략에 장단점이 있다.
Git-Flow
메인과 개발을 나누어 관리하자.
•
복잡한 릴리즈 관리가 필요한 프로젝트에 적합하다.
◦
대규모 서비스
◦
배포 일정이 명확한 서비스
•
release 브랜치에서 테스트를 거친 후 마스터 브랜치에 merge시 배포
주요 브랜치 구성
•
main: 실제 운영(배포) 코드
•
develop: 개발 통합 브랜치
•
feature/*: 기능 개발 브랜치
•
release/*: 릴리즈 준비 브랜치
•
hotfix/*: 운영 버그 수정 브랜치
Git-Branch
하나의 브랜치만 잘 관리하자
•
Trunk-based 전략이라고 부르기도 한다.
•
CI(지속적인 통합) CD(지속적인 배포)에 유리하다.
◦
PR 생성 시 테스코드 실행
◦
main에 merge시 자동 배포
주요 브랜치 구성
•
main: 항상 배포 가능한 최신 상태
•
feature/* or topic/*: 기능 개발 브랜치 (임시 브랜치)
출처