Module 11: Designing Team Git Workflows
Trunk-Based Development, Git Flow, and Release Branching
Trunk-Based Development, Git Flow, and Release Branching
Module: Module 11: Designing Team Git Workflows
Workflow models are organizational tools. Trunk-based development, Git Flow, and release-branch models each fit different release cadence, team size, compliance, and testing realities.
Trunk-based development keeps main close to releasable and favors short-lived branches, strong CI, feature flags, and frequent integration. Git Flow uses long-lived develop and release branches, which can fit packaged releases but may slow integration. Simple release branching keeps main active while maintaining supported production lines.
Do not pick a workflow because it sounds advanced. Pick it because it matches deployment frequency, test confidence, review culture, and rollback needs. A team deploying daily with strong CI usually wants shorter branches than a team shipping certified releases quarterly.
Command Walkthrough
git log --first-parent --oneline main
git branch -r
git tag --sort=-creatordate | head
git merge-base main release/1.0* d4e5f6a (HEAD -> main) Add focused change
* a1b2c3d Create project baselineHands-on Lab
Write a workflow recommendation for three teams: a web app deploying daily, an embedded firmware team shipping quarterly, and a library maintaining multiple supported versions.
What to Watch For
- Long-lived branches accumulate painful integration debt.
- Trunk-based development without strong tests and feature flags can be chaotic.
- Workflow rules should be revisited as team size and release cadence change.
Completion Check
You should be able to explain what each command changed, inspect the resulting history, and describe how you would undo or recover from the operation before using it in a shared repository.