Flow
Git Flow is a strategy for working with Git that optimises for parallel delivery of features.
Concepts
- Branches are categorised based on usage:
master
is the branch used for production releases.develop
contains stable features for the next release, and is branched frommaster
.features/*
branch fromdevelop
. These exist concurrently, and are integrated back intodevelop
when stable. Features integrated into thedevelop
branch must be merged back into feature branches.release/*
branches branch from develop, and are used for stabilising releases: bug fixes can be checked into these branches. These should be merged back intodevelop
, where they'll trickle down to feature branches.hotfix/*
branches are short lived, existing only to branch frommaster
during development of a fix. They should be removed once merged back intomaster
. Frommaster
, they should be merged intodevelop
.
- Tags are taken whenever changes are merged to master. These are a good candidate for semantic versioning.
Backlinks