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
mainbranch. - A
devbranch 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
releasebranch 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.