# Branching model ## Possible branch names * `master` * `develop` * `$ID-$TITLE` ### `master` Current productive version of a project resides on the `master` branch. ### `develop` The upcoming productive version - current development version - resides on the `develop` branch. The `develop` branch is unnecessary in smaller projects when the development is not too fast. The `master` branch needs to be updated with a fast forward merge after every release in projects that have a `develop` branch. ### `$ID-$TITLE` Development of features, bugfixes or refactoring is done in branches referencing an issue that follow the naming convention `$ID-$TITLE` where `$ID` is the number of the issue and `$TITLE` is the sluggified title of the issue. The [issues](ISSUES.md) integration of GitLab has a feature that creates such a branch and an accompanying merge request. ## Further resources * [Git - A successful Git branching model](http://nvie.com/posts/a-successful-git-branching-model/)