트렁크 기반 개발 이란
단일 브랜치에서의 개발
트렁크 기반 개발은 모든 개발자가 단일 메인 브랜치(trunk/main)에서 작업하며 작고 빈번한 커밋을 하는 개발 방법론입니다.
핵심 원칙
- 모든 변경은 main/trunk에 직접
- 수명이 짧은 feature 브랜치 (최대 1-2일)
- 빈번한 커밋 (하루에 여러 번)
- 지속적 통합은 필수
장점
- 머지 충돌 최소화
- 빠른 피드백
- 간단한 커밋 이력
- CI/CD 프로세스 가속화
- 통합 위험 감소
성공을 위한 실천법
- Feature Flags — 미완성 기능 숨기기
- 트렁크 기반 + 단기 브랜치 — 1-2일 브랜치
- 지속적 코드 리뷰 — 상시 코드 리뷰
- 자동화된 테스트 — 모든 커밋에 자동 테스트
Git Flow와 비교
| 측면 | 트렁크 기반 | Git Flow | |------|------------|----------| | 브랜치 | 1 메인 | 다수의 장기 | | 릴리스 | 지속적 | 예정된 | | 복잡성 | 낮음 | 높음 | | 충돌 | 드묾 | 빈번 |
사용 시기
- 테스트 커버리지가 좋은 숙련된 팀
- CI/CD가 있는 프로젝트
- 빈번한 릴리스가 필요할 때