What are the different branching strategies?
Though branching models differ amongst businesses, four strategies are most commonly used.
-
Trunk based development - Trunk-based development entails all developers working on the same branch, and when changes are tested and ready, a developer submits their code to the central repository.
-
Release branching - The concept of release branching implies that a release is kept within a branch. When a team starts work on a new release, a branch is created, and all work completed until another release is preserved in this branch.
-
Feature branching - Feature branches, which are frequently used in conjunction with feature flags or toggles that activate and disable a feature inside the product, are used to collect a sequence of user requirements that can be merged into a master and delivered as a single full feature.
-
Story Branching - Story or task branching ties a user story to source code changes. It is the most basic level of branching, and each issue addressed has its own branch, which is usually coupled with a user story ID.