branch where the source code of `HEAD` always reflects a _production-ready_ state
## develop branch
branch where the source code of `HEAD` always reflects a state with the latest delivered development changes for the next release, kind of an '"integration branch'
## The supporting branches: release-* , hotfix-* and feature-*
### release branches
May branch off from:
`develop`
Must merge back into:
`develop`**and**`main`
Branch naming convention:
`release-*`
### hotfix branches
May branch off from:
`main`
Must merge back into:
`develop` and `main`
Branch naming convention:
`hotfix-*`
### feature branches
May branch off from:
`develop`
Must merge back into:
`develop`
Branch naming convention:
anything except `main`, `develop`, `release-*`, or `hotfix-*`