We use version control in a structured way
We use version control and branches in projects where applicable. We use four different types of branches:
- the master branch
- the staging branch
- feature branches
- hotfix branches
The master branch
The master branch is the current production branch. We only merge code into master from staging (and hotfix branches) through Pull Requests. Our CD automation makes the changes live in the production environment when all tests have passed.
The staging branch
The staging branch is the current staging (hosted testing envinroment) branch. We only merge code into staging from feature branches (and hotfix branches) through Pull Requests. Our CD automation makes the changes live in the testing environment when all tests have passed.
We split feature branches off from the current staging branch.
Feature branches
Feature branches are active development branches where the magic happens. We split them off from staging. We merge feature branches into staging via Pull Requests.
Hotfix branches
Hotfix branches are branches for fixes that need to be done in production. We split them off from master and merge them into master and staging via Pull Requests.