CertHelper Branches
Todo
TODO
Overview
There are three main branches in the repository, each with its own importance:
masterbranch, which contains code which is thoroughly tested and production-ready, meaning as few bugs as possible (if not zero). CertHelper's production instance builds from this branch.trainingbranch, which should be synchronized with themasterbranch at all times. It contains minor changes which make it useful for training new Shifters. CertHelper's training instance builds from this branch.developbranch, where all development takes place. CertHelper's development instance builds from this branch.
Developing
The following is a suggested strategy for working with CertHelper branches.
Working on a feature or bug
- Create an issue on github
- Create a new branch with the number of the issue as a name, starting from
develop, i.e.:and do whatever changes you need to do.git checkout develop git pull origin develop git checkout -b "#71" - Push the branch to github:
git push origin "#71" - Go to github and create a Pull Request to merge the
#71branch to thedevelopone (important! Don't choose themasteras target!) - Merge your Pull Request to
develop.
You can start new builds on the
certhelper-dev
deployment at will, which will pull all latest changes from the develop branch.
Merging develop to master
Once you have tested your changes on the development deployment, you will need to update the main CertHelper instance.
- Make sure you have updated the
CERTHELPER_VERSIONstring indqmhelper/settings.py, following the Semantic Versioning guide. - Merge the
developbranch tomaster:git checkout master git pull origin master git merge --no-ff develop git push master - Put a tag on the
masterbranch branch, with the same name as theCERTHELPER_VERSIONstring, e.g.:git checkout master git tag 1.10.0 git push --tags - Merge the
masterbranch totraining:git checkout training git pull origin training git merge master git push training
Warning
The master and training branches must always be in sync.