Git Workflow¶
We use the git-workflow as described in git-workflow and
Installation¶
On most recent Linux distributions, git-flow comes with the default package resources, on Debian/Ubuntu systems you just call
sudo apt install git-flow
on OSX call
brew install git-flow
on MSWindows you can install: git-flow for MSWindows
!! please select a version with __support__ branches
git flow usage¶
There are basically two constant branches: master and develop.
master shall always contain a stable, tested release and the develop branch is used for all progesses in development. All feature branches are derived from develop.
When some features mature to be released, a release branch can be created. In a release branch, no further features shall be added. It is mainly used for bug-fixing and polishing. Finalising a release branch will result in a merge to master and to develop.
The bugs in the master branch can be fixed with hotfix branches.
Creating feature/release/hotfix/support branches¶
Feature branch¶
To start a new feature, use .. code-block:: console
git flow feature start [your_feature_branch]
To finish a feature:
git flow feature finish [your_feature_branch]
Summary list/start/finish/delete feature branches, use:
git flow feature
git flow feature start <name> [<base>]
git flow feature finish <name>
git flow feature delete <name>
For feature branches, the `<base>` arg must be a branch, when omitted it defaults to the develop branch.
push/pull a feature branch to the remote repository¶
git flow feature publish <name>
git flow feature track <name>
list/start/finish/delete release branches¶
git flow release
git flow release start <release> [<base>]
git flow release finish <release>
git flow release delete <release>
For release branches, the <base> arg must be a branch, when omitted it defaults to the develop branch.
list/start/finish/delete hotfix branches¶
git flow hotfix
git flow hotfix start <release> [<base>]
git flow hotfix finish <release>
git flow hotfix delete <release>
For hotfix branches, the <base> arg must be a branch, when omitted it defaults to the production branch.
list/start support branches¶
git flow support
git flow support start <release> <base>
For support branches, the <base> arg must be a branch, when omitted it defaults to the production branch.