🌳 Branching Strategies
We support 3 types of branching strategies when setting up a release train.
Tramline creates release branches and appropriate pull requests automatically across all branching strategies.
Almost Trunk is the simplest strategy and the one that we generally recommend.
For every release, we create a new release branch from the
HEAD of the working branch. Release-specific fixes should not be committed to the release branch directly. Instead, you should land the fixes on your working branch, and then cherry-pick them on to the release branch.
Release with Backmerge
Release with Backmerge creates a new release branch from the
HEAD of the working branch, for every release. Once the release is finalized, two things happen:
- The release branch is merged into the backmerge (production) branch
- The backmerge branch is "backmerged" into the working branch
Parallel Working and Release Branch
Parallel Working and Release does not create a new release branch for every release. Instead, at the start of a release, the working branch is merged into the release branch. Release-specific fixes land on the release branch directly. At the end of the release, the release branch is merged back into the working branch.