Each issue and corresponding pull request will be placed in one of the following categories:
feature
: addition of a completely new featureenhancement
: notable improvement or expansion upon an existing featurerefactor
: code changes that neither fix a defect nor add functionalitybugfix
: fix a defect of the simulator itself (regular bug fix)hotfix
: fix a defect of the simulator itself (emergency fix pushed straight to production)documentation
: changes to documentation files only
All GitHub issues will be have a label that places it in one of these categories. All branches and pull requests should use names in the shape of ISSUE_CATEGORY/ISSUE_NUMBER
.
# Github issue #333 in category 'bugfix'
bugfix/333
# Github issue #321 in category 'feature'
feature/321
# GitHub issue #347 in category 'refactor'
refactor/347
Pull Requests should reference the issue number in the first line of the description:
Resolves #321.
Short description of the purpose of these changes
The post linked below has a thorough explanation of a very effective git branching strategy. Though slightly modified, our branching strategy and conventions are based heavily on this write-up.
http://nvie.com/posts/a-successful-git-branching-model/
Below you will find a helpful flow chart showing the exact git branching strategy employed at openScope. Additional information on the phases of our development lifecycle can be found here.
+------------------------+-------------------------+-----------------------------------+
| DEVELOPMENT | TESTING | INITIALIZATION |
+------------------------+-------------------------+-----------------------------------+
| | | hotfix hotfix |
| | | o-o-o-o o-o-o-o |
| | | / \ / \ |
master +------------------------+-------------------------+------------o---------o---------o--+--→ master
| | | /| | | |
| feature bugfix | | / | | | |
| o-o-o-o o-o-o-o | | / | | | |
| / \ / \ | | / ↓ ↓ ↓ |
develop +--o---------o---------o-+------------o---------o--+------ / ---o---------o---------o--+--→ develop
| \| ↑ ↑ | / |
| + bugfix | bugfix | | / |
| |\ o-o-o-o | o-o-o-o | | / |
| | \ / \|/ \| | / |
| release | o---------o---------o--+--o |
| | | |
+------------------------+-------------------------+-----------------------------------+