Practice branching strategy vocabulary: Gitflow, trunk-based development, short-lived feature branches, feature flags, and the impact of branching strategy on deployment frequency.
0 / 5 completed
1 / 5
What are the main branches in the Gitflow branching strategy?
Gitflow (Vincent Driessen, 2010) defines: main (always production-ready), develop (integration branch for completed features), feature branches (created from develop, merged back to develop), release branches (created from develop for stabilisation before merging to main), and hotfix branches (created from main to fix production bugs, merged to both main and develop). It's structured but complex.
2 / 5
What is trunk-based development?
Trunk-based development means developers integrate their work into the main branch (trunk) very frequently — at least daily. This eliminates long-running feature branches and the painful merges that come with them. It's the foundation of continuous integration and is used by high-performing engineering teams at companies like Google and Facebook. It requires feature flags for work-in-progress features.
3 / 5
'Short-lived feature branches.' What defines a short-lived feature branch?
Short-lived feature branches (a practice advocated in trunk-based development) exist for a day or two at most. They reduce merge conflicts (less divergence from main), enable continuous integration (code integrates to main daily), and force smaller, more focused changes. Long-lived branches (weeks or months) accumulate changes that are painful to merge and delay integration feedback.
4 / 5
'Feature flags instead of feature branches.' What problem do feature flags solve?
Feature flags (also called feature toggles) wrap new code in a conditional that can be switched on/off without deployment. This allows teams to merge incomplete features to main (keeping branches short-lived) while the feature is controlled separately from the code. Features can be released gradually (canary), A/B tested, or rolled back instantly without a code deployment.
5 / 5
'The branching strategy impacts deployment frequency.' How does Gitflow affect deployment frequency compared to trunk-based development?
DORA research consistently shows that high-performing teams use trunk-based development and deploy multiple times per day. Gitflow's structure — long-running feature branches, formal release branches, strict merge protocols — creates batch releases that are less frequent and larger in scope (higher risk). The branching strategy is a significant factor in determining how quickly a team can respond to market needs or fix production issues.