Git Flow
Git Flow는 Vincent Driessen이 2010년에 제안한 방법론으로, 복잡한 릴리스 일정이나 멀티 릴리스를 관리해야 하는 대형 프로젝트에 적합합니다. 주요 브랜치는 다음과 같습니다:
- master: 제품으로 출시될 수 있는 브랜치
- develop: 다음 릴리스를 위해 개발이 진행되는 브랜치
- feature: 기능 개발을 위한 브랜치,
develop
에서 분기 - release: 릴리스 준비를 위한 브랜치,
develop
에서 분기하여 QA, 테스트, 문서 작성 등을 수행 - hotfix: 출시된 제품에서 긴급하게 수정해야 할 버그를 처리하는 브랜치,
master
에서 분기
장점:
- 명확한 구조로 인해 대규모 팀에서도 체계적인 개발이 가능
- 버전 관리와 호환성 유지가 용이
단점:
- 브랜치 관리가 복잡하고, 작은 프로젝트에는 과도할 수 있음
- 프로세스가 까다로워 초보자가 이해하기 어려울 수 있음
GitHub Flow
- master: 항상 배포 가능한 상태를 유지
- feature branch: 새 기능이나 버그 수정을 위한 브랜치,
master
에서 분기하여 작업 후 직접master
로 병합
장점:
- 구조가 간단하여 작은 팀이나 프로젝트에서 쉽게 사용할 수 있음
단점:
- 복잡한 릴리스와 다중 릴리스를 관리하기에는 불충분할 수 있음
'개발' 카테고리의 다른 글
소스 코드 관리 전략(모노레포 vs 멀티레포) (0) | 2024.05.11 |
---|---|
아키텍처(모놀리식 vs. MSA) (0) | 2024.05.11 |
프로그래밍 패러다임 (0) | 2024.05.11 |
TDD (0) | 2024.05.11 |
워터폴과 애자일 (0) | 2024.05.11 |