Git Branching Strategies Qu' lIj
teams law' branching strategy choose pagh - founding engineers Qu'pu' inherit, 'ej calcify (team size release cadence Dun'a' Qoy pagh). vaj five-person startup hundred-person org quarterly releases process Qu'; team daily production ship permanent develop branch purpose qaw. strategy right deploy frequency 'ej in-flight things Dung - fanciest diagram pagh.
trunk-based development
Hoch main Daq commit (pagh short-lived branches wa' jaj Dung merge), feature flags qaSpa' (work user vaD ready pagh vaj).
git checkout main
git pull
git checkout -b add-export-button
# ... small, focused change ...
git push -u origin add-export-button
# open PR, merge same day, delete branch
deploy frequent vaj Dun (jaj Hoch pagh multiple times), solid CI 'ej feature flagging. branches long pagh - main vo' drift pagh, merge conflicts mach, integration problems nom tu'. feature flags pagh vaj Qaw': "small focused change" "half-finished feature user legh" choH vaj long-lived branch reinvent.
Git Flow
classic heavyweight model: permanent develop branch integration, feature/ branches develop vo', release/ branches version stabilize, main production neH, hotfix/* branches patch directly.
git checkout develop
git checkout -b feature/user-avatars
# ... work, potentially over days or weeks ...
git checkout develop
git merge --no-ff feature/user-avatars
# when develop is ready to ship
git checkout -b release/2.4.0 develop
# stabilization fixes go here, then:
git checkout main
git merge --no-ff release/2.4.0
git tag v2.4.0
git checkout develop
git merge --no-ff release/2.4.0
schedule Daq ship vaj Dun - desktop app quarterly releases, embedded firmware update, "main nuq" "nuq build" weeks pIm poQ. continuous deploy web app vaD develop/release split ceremony benefit pagh - separate "release" moment pagh.
GitHub Flow
middle ground: develop pagh, release branches pagh. main deployable reH, feature branches main vo', merge deploy trigger.
git checkout main
git pull
git checkout -b fix-pagination-off-by-one
# ... work ...
git push -u origin fix-pagination-off-by-one
# open PR, get review, merge — CI deploys main automatically
teams law' default: Git Flow clarity (branch per unit work, PR review) multi-branch bookkeeping pagh, continuous deployment fit (wa' branch qatlh). trunk-based vs trade-off branch lifetime: feature branch jaj few review iteration, merge drift (trunk-based avoid) 'ach review checkpoint main qaSpa'.
choose
- Trunk-based: jaj multiple deploy, feature-flag infrastructure, team disciplined small commits.
- GitHub Flow: week few times deploy, PR review gate, parallel release lines poQ pagh.
- Git Flow: discrete numbered releases (poH pIm), older version patch next develop.
team size law' qatlh pagh. solo developer GitHub Flow PR-per-change discipline intent documentation. twenty-person team trunk-based CI flagging investment vaj Dun - constraint process maturity, headcount pagh.
naming conventions
strategy Hoch consistent branch prefix git branch -a CI dashboards scannable:
feature/short-description
fix/short-description
chore/short-description
hotfix/short-description
ticket numbers only identifier (JIRA-4521) Qo' - six months qaSDI' nuq qaw. fix/export-csv-encoding immediate Sov. tracker automation vaD qatlh vaj ticket ID description qaSDI': fix/export-csv-encoding-JIRA-4521.
strategy law' qatlh habit
model Hoch: base branch merge pagh rebase PR open qaSpa' (review comments stale diff Daq pagh).
git checkout feature/add-export-button
git fetch origin
git rebase origin/main
# resolve conflicts here, while the change is fresh in your head
git push --force-with-lease
--force-with-lease (--force pagh) qatlh: remote branch overwrite refuse (vay' push qaSDI' last fetch). plain --force silently clobber.
yaj
universally correct branching strategy pagh - actual deploy frequency rap neH. Trunk-based 'ej GitHub Flow main almost always-shippable assume; Git Flow pagh assume, more branches pay. ship frequency choose (wiki diagram sophisticated pagh).