HubFlow: GitFlow For GitHub
At DataSift, we’ve standardised on:
- using Git for our source control,
- using GitHub to host our public and private Git repositories,
- and using GitFlow as our common workflow
This website explains how we’ve adapted GitFlow and the GitFlow tools git extension for working with GitHub. This is how we work internally, and we’re sharing this in the hope that others find it useful too.
What We Cover
On this site, you’ll find:
- Introducing GitFlow: this is how we explain what GitFlow is to new employees when they join the company. If you’re learning about GitFlow for the first time, you should also read Vincent Driessen’s original blog post introducing GitFlow.
- The HubFlow Tools: this is an introduction to our GitHub-focused fork of the GitFlow extension for git, which we’ve called HubFlow to avoid any confusion with the original GitFlow extension commands. Includes installation instructions and how to contribute patches back.
- Using GitFlow With GitHub: this is probably the page you’re really looking for. It explains how to apply the GitFlow branching model if you’re using GitHub for hosting, and includes all the commands you need for each of the common tasks you’ll do.
- Versioning: to finish off, we look at why version numbers matter, and how you should use them in your projects.
We hope you find this useful, and time-saving.
Just like Vincent’s original GitFlow post, every page on this website is published under the Creative Commons CC BY-SA licence, and our HubFlow fork of the GitFlow tools is licenced under the BSD 2-Clause Licence.
You’ll find the source code for this website in the gh-pages branch of our gitflow repo on GitHub. If you spot a mistake or have an idea how to improve this website, pull requests are most welcome :)