-
Notifications
You must be signed in to change notification settings - Fork 3
Git Flow
Nathan Glover edited this page Feb 5, 2018
·
1 revision
Git flow is "A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model". It provides a very effective model of branching that is useful in open source, iterative software design.
See nvie/gitflow for more info and installation instructions. Also, see git-flow cheatsheet for visualisation and reference.
I've borrow this document from zeppelin-solidity's Git Flow
- Every development branch must part from the
development
branch. - Every development branch must be named as
feature/…
,bug/…
,refactor/…
, etc. - If your branch is planned to fix an open issue, postfix your branch name with the issue number like
fix/some-bug-#123
. - Every development PR must be merged against
development
once ready. - Development branches must be deleted once merged.
- A release branch must be created from
development
pointing to the last commit that we expect to include in the release. - A release branch must be named as
release/vX.X.X
. - Once the release branch is ready, a PR must be opened against master.
- A release branch must be audited before merging.
- Once merged against
master
, a tagvX.X.X
must be created pointing to the merge commit inmaster
. - Finally the release branch must be merged into
development
. - Release branches should be deleted once merged.
- The release tag must be published.
- Hotfix branches must be opened from
master
. - Once the hotfix branch is ready, a PR must be opened against
master
. - Ideally the hotfix should be audited before merging.
- Once merged against
master
, a tagvX.X.X
should be created pointing to the merge commit in master. - Finally the hotfix branch must be merged into
development
. - Hotfix branches must be deleted once merged.
- Every 4 weeks.