This repo uses a continuous delivery workflow. This enables code to be deployed to production at any time if neccessary and simplifies the release process.
In the above diagram, branches are categorized as follows:
The master branch contains production ready code.
Story branches are for work items that could be presented to users as soon as they're merged into master.
Feature branches are for work that cannot be completed in a single ticket. They can be merged into master once the work is at a state where it could be presented to users.
These are very short lived branches that correspond to a tagged commit which is deployed to production. They should contain minimal changes and are largely just to create a snapshot of the master branch so that work can continue without affecting the release.