Development: Working with Git & GitHub
This document describes all Git related guidelines. Since GitHub is our preferred Git provider, GitHub-related guidelines may also be described here.
Gitflow Workflow
We rely on the basic principles of the Gitflow Workflow, with minor modifications. In summary every project must follow these rules:
- Every project MUST have a
main
branch. - A
dev
branch is required from the time the project is in production. - Features, Bugfixes and Hotfixes require their own branch, pull request and review.
- The use of a
release
branch is omitted.
Releases
- Every deployment to a production environment MUST be based on a Git release
tag
. - The release number MUST be an incrementing version according to the branch.
- There SHOULD be only one release per day.
Branch naming
- The starting branch MUST be named
main
- The development branch MUST be namend
dev
- A feature branch MUST be named using the prefix
feat/
followed by a the feature name. Multiple words may only be linked with hyphens (-
). - A Bugfix branch MUST be named using the prefix
fix/
followed by a short (2-3 words at best) description. Words may only be linked with hypens (-
).
Naming version branches
The main
branch MUST always describes the currently developed version.
If a project is only ever going to have one version (for the foreseeable future)
the main
branch is used synonymous with 1.x
.
When a new version of the project is developed, the main
branch MUST be
renamed to 1.x
. A new main
branch MUST be created, which would then
correspond to the version 2.x
in development.
The version number for new releases is to be adjusted accordingly.