Workflows
Git Branching Model
We use a modified version of git flow.
This means all development is separated into features. Each feature is a collection of related changes. For example, a feature may fix a single known bug or a feature may add a new screen to a GUI app.
Work on these features is structured as follows:
- The contributor (you) creates a branch and opens a "WIP" PR
- Contributor works on the feature (team leads and/or team members help where needed)
- Contributor asks for a review
- The team lead reviews the code
- If changes are needed, then we go back to (2)
- We merge the changes into
dev
Periodically, dev
will be heavily tested. This will happen when one or more
new features have been merged into dev
. If any issues are found, fixes are
merged. Finally, when dev
is believed to be stable enough, it is merged into
main
.
This process is in place to ensure that main
always contains a stable copy of
the code. This is important for regular test flights which must only be done on
tested stable code.