Git Branching Workflows
Choosing the right branching strategy is one of the most impactful decisions for a development team. The right model reduces merge conflicts, clarifies release processes, and makes it easier to onboard new contributors.
Trunk-Based Development
All developers commit directly to the main branch (or to short-lived feature branches that merge within a day or two). Feature flags gate incomplete work. This model is associated with high-performing teams and continuous delivery.
Gitflow
Gitflow uses long-lived main, develop, feature/*, release/*, and hotfix/* branches. It suits teams with scheduled releases and multiple concurrent versions in production.
GitHub Flow
A simplified model: create a branch from main, commit, open a pull request, review, merge, deploy. There are no long-lived branches beyond main. It works well for teams that deploy continuously.