패스잇
소프트 스킬 · 심화

Trunk-based Development란 무엇이며, Git Flow와 어떻게 다른가요?

힌트 · 짧은 브랜치 수명, Feature Flag로 미완성 기능 숨기기, 지속적 통합(CI)과의 궁합을 설명해보세요.

TrunkContinuous IntegrationFeature Toggle짧은 생명 주기 브랜치배포 빈도

모범답안

Trunk-based Development는 모든 개발자가 'trunk'라는 단일 메인 브랜치에 직접 또는 매우 짧은 수명 주기의 피처 브랜치를 통해 자주 커밋하는 개발 방식입니다. 이를 통해 지속적인 통합(CI)을 극대화하고, 작은 단위의 변경 사항을 빠르게 배포할 수 있습니다.

Git Flow와 가장 큰 차이점은 브랜치 전략입니다. Git Flow는 develop, feature, release, hotfix 등 여러 개의 영구적인 브랜치를 사용하여 복잡한 릴리스 관리를 하지만, Trunk-based Development는 'trunk' 브랜치 하나에 집중합니다. 미완성 기능은 Feature Flag(또는 Feature Toggle)를 사용하여 'trunk'에 병합하더라도 사용자에게 노출되지 않도록 관리합니다. 이 방식은 배포 빈도를 높이고 통합 문제를 조기에 발견하는 데 유리합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Git / 협업 면접 질문

← Git / 협업 면접 질문 전체 보기