Skip to content

Branching Strategies

  1. Trunk Based
  2. Single branch (mainline)
  3. High team maturity
  4. Feature toggles (feature flags)
  5. Continuous Deployment
  6. Feature Branching
  7. One branch per feature
  8. Short delivery
  9. Continuous Delivery
  10. Pull Requests to merge to mainline
  11. Forking Strategy
  12. Fork whole repository
  13. Open-source projects
  14. Do not deal with permissions
  15. Release Branching
  16. One branch per release
  17. Low frequency deployments
  18. Waterfall
  19. No continuos integration
  20. Support for previous releases (backwards compatibility)
  21. No automation
  22. Git flow
  23. Many branches (mainline, development, releases, features)
  24. Long lived branches
  25. Complex and not recommended
  26. Github flow
  27. PR flow
  28. Short-lived branches merged via PRs
  29. Environment branching
  30. Environment branches on top of all others
  31. Worst approach

Good practices

  • No long-lived branches