Git is our preferred source version control tool. To begin using it, and to have the best experience with it You will need to install git-scm and GitKraken. If you have a preferred tool when it comes to managing source control, feel free to use that instead.

If you are new to familiar with Git or are making the crossover from SVN or TFS, then the following 15 minute video will educate you enough to be dangerous;

https://www.youtube.com/watch?v=Y9XZQO1n_7c&t=1s

Gitflow Branching Summary

We are using the Gitflow strategy.  The overall flow of Gitflow can be summarised as:

  1. A develop branch is created from master
  2. A release branch is created from develop
  3. Feature branches are created from develop
  4. When a feature is complete it is merged into the develop branch
  5. When the release branch is done it is merged into develop and master
  6. If an issue in master is detected a hotfix branch is created from master. Once the hotfix is complete it is merged to both develop and master

Main point to remember is that the master branch is what has been deployed to the live environment, hence why you merge successful release branches back into master.

Branching Details

We follow as best as possible, the industry accepted best practice with regards to our branching strategy. This allows us to keep good control over what gets released and when. To understand the need for and process for this branching strategy in more detail the timeless article can be found here A successful git branching model.

t is important to know and understand the convention when using branching.

All merges to the development branch should be done through pull requests. This will allow the code to be reviewed before entering the main branch. For more information on making a pull request see here.