Branches of Branches

Prev Next

The Branches of Branches feature lets teams create release branches that group multiple feature branches under one environment. This enables coordinated testing, integration, and publishing for a release, without disrupting ongoing feature development on other branches.

Discover how to create branches of branches in our How to: Create a Branch From a Branch article.

For example, let’s say your team is preparing a quarterly release, so they can create a Q4 Release branch from the main development branch. Later, they create individual feature branches, like Feature A, Feature B, and Feature C. Instead of merging these feature branches directly into the main development branch, the team can merge them into the Q4 release branch. Doing so lets them perform integration testing and conflict resolution. Once all features are tested together, the release branch is merged into the main branch for Production deployment.

Teams are encouraged to keep feature branches small and temporary, then group them into release branches when coordinating larger deployments.

Benefits

  • Coordinated releases: The Branches of Branches feature lets teams group multiple features or fixes into a single release branch, enabling them to plan and deliver updates in an organized, predictable manner.

  • Lower risk publishing: Publishing from a validated release branch reduces the chances of regression issues or affecting the application in Production. Because all the features are together and tested in the release branch, the chances of having issues after deployment are minimized.

  • Easier conflict resolution: The Branches-of-Branches model simplifies conflict management by consolidating integration work in the release branch. Instead of resolving conflicts repeatedly between multiple feature branches and the main branch, teams can address them in the shared release branch before merging to the main branch.

  • Better QA and UAT: Quality Assurance (QA) and User Acceptance Testing (UAT) become more effective when testing occurs on a single, stable release branch. Instead of validating individual features in isolation, testers can evaluate how new functionality interacts as part of a unified release.

  • Rollback control: If a release encounters issues during integration testing or post-deployment, the release branch offers a controlled rollback point. Instead of reverting individual features from the main branch, teams can roll back the release branch as a whole or selectively remove problematic feature merges.

Learn more about branching in our Introduction to Branching article.