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.