Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. One hotfix branch exists per minor release. That is, hotfix-1.0.x is used for (eg) 1.0.1and1.0.2. While these will typically branch from and merge into main/master, they may also branch from any release tag, and may not merge into main/master if main/master has already moved on to a new minor (or major) release. Both main/master and hotfix-* should be deployable at all times.
  2. Release branches are not currently used. All features for release merge into develop, which eventually merges into main/master to create a release tag.
  3. Feature branches (topic branches) are optional and should be named for the corresponding JIRA issue (eg: feature-co500). In general, feature branches are used when merging directly into develop is undesirable, perhaps because the feature is experimental. Features may also be used when a priority enhancement is made for a specific deployment, and the enhancement is required before the next scheduled minor release.
    1. Feature branches may also be used to target develop for a future (ie: not the next) feature release. In this case, the feature branch is named for the target release (eg: feature-3.1) rather than a JIRA issue.

...

Note

In general, do not merge hotfix-*, develop, or main/master. That will happen at release time. You can merge a temporary feature-* branch into hotfix-* or develop.

...

BranchDescriptionBranches FromMerges To
main or masterCurrent release or release candidate--
developNew features scheduled for next minor release-main/master, hotfix-* (if appropriate)
hotfix-*Bug fixes and minor changes scheduled for next bugfix releasemain/mastermain/master, develop
feature-*Experimental or prioritized featuresmaster for prioritized development, otherwise any suitable branchdevelop or (rarely) hotfix-*develop, hotfix-* (if appropriate)

...