...
Branch Name | Description |
---|
patch | Receives only bug fixes and minor improvements. Changes to this branch can be released more quickly via patch releases, but must not require any substantial changes to documentation or established application behavior. After changes have been merged to the patch branch, the patch branch is merged back to main , and the main branch is merged to next . In extreme cases, changes to patch may need to be reimplemented against next . The patch branch always represents the next possible patch release that is not yet being staged. Prior to the creation of a staging/X.Y.Z branch, this is relative to the most recent release. After the creation of a staging/X.Y.Z branch, this is relative to the staged release (ie: it represents the basis of a possible future "X.Y.[Z+1]" release). |
main | Receives essentially any changes except huge changes that would reasonably require a full version bump (ie: moving from 1.x all the way to 2.x). Examples of changes that should not go here include compatibility-breaking migrations away from established frameworks and rewrites of the user interface. After changes have been merged to the main branch, the patch branch is merged back to main , and the main branch is merged to next . In extreme cases, changes to patch may need to be reimplemented against next . The main branch always represents the next possible minor release that is not yet being staged. Prior to the creation of a staging/X.Y.Z branch, this is relative to the most recent release. After the creation of a staging/X.Y.Z branch, this is relative to the staged release (ie: it represents the basis of a possible future "X.[Y+1].Z" release). |
next | Receives any changes that are too large in size or effect to be considered for main . The next branch always represents the next possible major release that is not yet being staged. Prior to the creation of a staging/X.Y.Z branch, this is relative to the most recent release. After the creation of a staging/X.Y.Z branch, this is relative to the staged release (ie: it represents the basis of a possible future "[X+1].Y.Z" release). |
...
- "Merge changes from patch branch back to main."
- "Merge changes from main branch back to next."
Changes to main
When a change is merged to main
, the main
branch must be merged to next
. The suggested commit message for this merge is:
- "Merge changes from main branch back to next."
Changes to next
Do nothing. Changes to next
do not get merged to other branches.
...