Intermediate LevelSoftware Engineering Principles
Compare Feature Branching (GitFlow) versus Trunk-Based Development for continuous integration.
❓ Interview Prompt: Compare GitFlow / Long-Lived Feature Branches vs Trunk-Based Development, merge friction, CI iteration speed, and feature flags.
Evaluating version control branching strategies:
•
GitFlow (Long-Lived Feature Branches): Developers work isolated on feature branches for weeks before merging. High risk of massive merge conflicts ("Merge Hell") and delayed CI feedback.
•
Trunk-Based Development: All developers commit small code increments directly to 'main' (trunk) multiple times a day. Features in progress are hidden behind Feature Flags. Eliminates merge debt and empowers true Continuous Integration!
Code Implementation Example
bash
# Trunk-Based Development workflow: Push small daily commits to main
git checkout main
git pull --rebase
git add .
git commit -m "feat: Add user avatar flag [behind toggle]"
git push origin main💡Trunk-Based Development small daily commit push workflow.
🎯 Interview Key Takeaway
Adopt Trunk-Based Development with feature flags to avoid long-lived branch merge hell and accelerate CI feedback.
#Trunk-Based Dev#GitFlow#CI/CD#Intermediate
Back to all Software Engineering Principles Questions→