3 Gitflow
Git is the version control system that underlies GitHub. Gitflow is an alternative git branching model that uses feature branches and multiple primary branches (vs one primary branch, e.g., “main”).
Gitflow was originally proposed by Vincent Driessen in 2010 on his blog. A tutorial by the tech company Atlassian has a nice overview of Gitflow.
In Gitflow there are two primary branches: main
and dev
(see diagram below). Feature branches always branch off of dev
. After feature branches merge back into dev
, then dev
is merged into main
.
There are formal tools for using a Gitflow model, e.g., nvie/gitflow. However, we aren’t using that tool or any others at the moment.
There is one component of Gitflow that we do not use right now: release branches.
3.1 Further reading
(Taken from https://github.com/nvie/gitflow)
Reading: http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
Screen casts:
- How to use a scalable Git branching model called git-flow (by Build a Module)
- A short introduction to git-flow (by Mark Derricutt)