|
|
# Workflow
|
|
|
|
|
|
## Structure
|
|
|
There are 3 main branches
|
|
|
- master: always 'runnable' code, e.g. could be used by customers
|
|
|
- develop: current developments, waiting to be pushed into the master
|
|
|
- foundation: mirror of the Foundation master branch
|
|
|
|
|
|
## Operation
|
|
|
All new code/features/bug-fixes should be created on their own branch, e.g.:
|
|
|
- git checkout develop
|
|
|
- git checkout -b feature-ABC (or git checkout -b bugfix-ABC etc)
|
|
|
- This will switch to your newly created branch, to which you apply your code changes
|
|
|
- On completion, merge the code back into the 'develop' branch, e.g.
|
|
|
- git checkout develop
|
|
|
- git merge feature-ABC
|
|
|
- If the branch is no longer needed, delete it!
|
|
|
- git branch -d feature-ABC
|
|
|
- Repeat!
|
|
|
|
|
|
Periodically when code in the 'develop' branch is stable, merge the develop branch into the 'master' branch. Similarly, the 'develop' branch will be updated from the 'foundation' branch.
|
|
|
|