Many ways to skin a cat
Git Flow is one of many source control models - get a feel for which works for you.
We can install git flow on Linux by simply
$ apt-get install git-flow
If you are using Windows or Mac there are Instructions for your operating system.
$ git flow init
We are then prompted to configure the branch names though we can simply press enter to go with the defaults
Branch name for production releases: [master] Branch name for "next release" development: [develop] How to name your supporting branch prefixes? Feature branches? [feature/] Bugfix branches? [bugfix/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix?  Hooks and filters directory? [/home/will/Code/flow/.git/hooks]
Our first feature
$ git flow feature start my-first-feature
# Flex your coding muscle
$ git flow feature finish
Release Early, Release Often
$ git flow release start 1.0.0
# Perform release activities (ie. bump version number)
$ git flow release finish
$ git flow hotfix start 1.0.1
# Fix the bug
$ git flow hotfix finish
Ever wondered why a release was tagged 1.0.0-RC1? A super useful related note to version control is Semantic Versioning which aims to help reduce "dependency hell" by defining a semantic meaning behind the version numbers.