
Release Flow
Release Flow is the branching system that is used by the Azure DevOps team to develop Azure DevOps. It is also based on working with short-lived topic branches that are made from and merged to a master branch.
The difference is that it is not the code that is on the master branch that is being deployed to production. Instead, whenever a new version of the product needs to be released, a new branch is created of master with the name release-{version}. The code from this branch is then deployed to production. Once a new release branch is deployed, the previous one can be disregarded. This results in the following flow:
The advantage of this model is that it allows for taking a snapshot of the current state of the master branch and taking that to production. If there is ever a bug in production that needs to be fixed ahead of a new complete release then the correct commits can be merged from the master branch to the current release branch.