Veit Schiele Communications

Veit Schiele Communications

git-flow

git-flow ist eine git-Erweiterung von Vincent Driessen, die die Umsetzung seines Branching-Modells deutlich vereinfacht.
erstellt von Veit Schielezuletzt verändert: 19.11.2014 16:14 © Veit Schiele 2012–2014

Um einen genaueren Einblick in das Branching-Modell von Vincent Driessen zu erhalten, empfiehlt es sich seinen Originalartikel A successful Git branching model zu lesen.

Erstellen oder Ändern eines bestehenden git-Repository

Nachdem git-flow installiert ist, kann ein neues Repository erstellt werden oder ein bestehendes Repository umstrukturiert werden mit:

$ git flow init

Anschließend werden Ihnen eine Reihe von Fragen gestellt, meist jedoch sollte wohl der Standardwert beibehalten werden:

No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

Anschließend setzt Ihnen git-flow den Standard-Branch automatisch auf develop.

Erstellen eines feature-Branch

Soll für eine größere Änderung nicht im develop-Branch gearbeitet werden sondern in einem speziellen feature-Branch, so kann dieser einfach erzeugt werden mit:

$ git flow feature start NEW-FEATURE

NEW-FEATURE ist dabei durch einen möglichst aussagekräftigen Namen für das zu implementierende Feature zu ersetzen.

Schließen des feature-Branch

Mit

$ git flow feature finish NEW-FEATURE

wird en Meging des feature-Branch mit dem develop-Branch durchgeführt und der feature-Branch gelöscht.

Erstellen eines release-Branch

Ein release-Branch kann einfach basierend auf develop erstellt werden mit:

$ git flow release start v0.1.0

Beim Beenden des release-Branches werden Ihre Änderungen auch von master und develop übernommen.