We use Git flow at work. While the branching strategy makes alot of sense and is easy to follow, it can be easy to forget some steps when executing branch tasks.
Here’s sort of a bulleted checklist I use to make sure for the most part I’m adhering to the spirit of the model. It’s derived mostly from an Atlassian post describing the workflow.
Git flow branches
master
masterstores official release history- tag each commit on
masterwith version/release number hotfixbranches cut from master
develop
developused to integrate feature branchesfeaturebranches branch fromdevelopfeaturebranches merged back intodevelop
release branches
release/xxxbranches branch fromdevelop- only release-related tasks (bug fixes, documentation) allowed into release branch after it is cut
- once
releasebranch is ready, it is merged into master (which is then tagged with version/release number) releasebranch also merged back into develop
hotfix branches
- only
hotfix/xxxbranches may branch frommaster - once hotfix complete, merge branch into both
masteranddevelop masteronce again tagged (since each commit to master is tagged)