Git ist heutzutage das Standard-Werkzeug zur Versionskontrolle von Softwareprojekten. Doch sobald mehrere Entwickler:innen an einem Projekt arbeiten oder ein Produkt in verschiedenen Phasen wie Entwicklung, Test und Release vorliegt, kann es schnell unübersichtlich werden. Genau hier kommt Git Flow ins Spiel – ein strukturiertes Branching-Modell, das hilft, Ordnung in komplexe Git-Repositories zu bringen.

Was ist Git Flow?
Git Flow ist ein von Vincent Driessen entwickeltes Branching-Modell, das einen klaren Workflow für die Softwareentwicklung mit Git vorgibt. Es definiert bestimmte Branches mit klaren Aufgaben und Regeln für deren Verwendung.
Die Haupt-Branches
main
(odermaster
)
Enthält den jeweils stabilen Code, der jederzeit produktionsbereit ist.develop
Hier landet der aktuelle Entwicklungsstand. Neue Features werden zuerst indevelop
integriert und getestet, bevor sie inmain
gemerged werden.
Unterstützende Branches
Neben main
und develop
gibt es drei unterstützende Branchtypen:
- Feature-Branches (
feature/xyz
)
Für neue Features, die aufdevelop
basieren. Nach Fertigstellung wird der Branch wieder indevelop
gemerged. - Release-Branches (
release/x.y.z
)
Wenn sichdevelop
in einem stabilen Zustand befindet, wird daraus ein Release-Branch erstellt. Hier werden letzte Anpassungen gemacht (Bugfixes, Dokumentation), bevor der Code inmain
gemerged und ggf. getaggt wird. - Hotfix-Branches (
hotfix/x.y.z
)
Für schnelle Bugfixes auf der Produktionsversion. Sie basieren direkt aufmain
und werden nach Behebung auch indevelop
zurückgeführt.
Warum Git Flow?
Vorteile:
- Strukturierte Arbeitsweise
Jeder Branch hat einen klar definierten Zweck. Das reduziert Chaos in der Codebasis. - Paralleles Arbeiten
Teams können gleichzeitig an verschiedenen Features, Fixes oder Releases arbeiten, ohne sich ständig in die Quere zu kommen. - Stabilität in Produktion
Durch getrennte Release- und Hotfix-Branches bleibt der Haupt-Branch stabil und deploymentsicher. - Versionierung und Nachvollziehbarkeit
Releases und Fixes lassen sich sauber versionieren und nachvollziehen.
Wann ist Git Flow sinnvoll?
Es eignet sich besonders für Projekte mit:
- regelmäßigen Releases
- mehreren Entwicklern oder Teams
- dedizierten Test- und QA-Phasen
- langfristiger Wartung und Weiterentwicklung
Für kleine Projekte oder Continuous Deployment Workflows kann Git Flow dagegen zu „overhead“ führen. In solchen Fällen lohnt sich ein einfacheres Modell wie GitHub Flow.
Tools & Unterstützung
Es gibt viele Tools, die Git Flow unterstützen, z. B.:
- Die Erweiterung
git-flow
für die Kommandozeile (brew install git-flow
)
(Siehe hierzu auch meinen Beitrag „Homebrew – Paketmanager für MacOS (oder Linux)„) - GUI-Tools wie Sourcetree
- CI/CD-Systeme, die auf Branch-Namen reagieren können
Fazit
Git Flow ist ein mächtiges Werkzeug, um Ordnung und Struktur in Softwareprojekte zu bringen. Besonders in Teams schafft es Klarheit, wie und wann Code geschrieben, getestet und ausgeliefert wird. Wer sich einmal an das Modell gewöhnt hat, möchte es meist nicht mehr missen.