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 indevelopintegriert und getestet, bevor sie inmaingemerged werden.
Unterstützende Branches
Neben main und develop gibt es drei unterstützende Branchtypen:
- Feature-Branches (
feature/xyz)
Für neue Features, die aufdevelopbasieren. Nach Fertigstellung wird der Branch wieder indevelopgemerged. - Release-Branches (
release/x.y.z)
Wenn sichdevelopin einem stabilen Zustand befindet, wird daraus ein Release-Branch erstellt. Hier werden letzte Anpassungen gemacht (Bugfixes, Dokumentation), bevor der Code inmaingemerged und ggf. getaggt wird. - Hotfix-Branches (
hotfix/x.y.z)
Für schnelle Bugfixes auf der Produktionsversion. Sie basieren direkt aufmainund werden nach Behebung auch indevelopzurü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-flowfü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.