WISSENSARTIKEL / PROGRAMMIERUNG & ENTWICKLUNG

Git Flow

Ein bewährtes Branching-Modell für die Versionsverwaltung mit Git

◎ KURZDEFINITION

Git Flow Git Flow ist ein Branching-Modell für Git, das durch klar definierte Branches und Prozesse die parallele Entwicklung und Release-Planung in Softwareprojekten erleichtert.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Git Flow definiert klare Branch-Typen für unterschiedliche Entwicklungsphasen.
  • Es erleichtert parallele Entwicklung und parallele Fehlerbehebung.
  • Das Modell unterstützt eine strukturierte Release-Planung.
  • Git Flow ist besonders geeignet für Projekte mit regelmäßigen Releases.
  • Die Nutzung von Git Flow verbessert die Übersichtlichkeit im Versionsmanagement.
  • Automatisierte Tools können Git Flow-Workflows unterstützen.
  • Git Flow ist kompatibel mit gängigen Continuous Integration Prozessen.
01

Überblick: Git Flow

Git Flow wurde von Vincent Driessen entwickelt und ist ein etabliertes Modell zur Organisation von Git-Repositories. Es strukturiert die Entwicklung durch die Verwendung verschiedener Branches für Features, Releases und Bugfixes, was die Zusammenarbeit in Teams verbessert und stabile Releases ermöglicht.

02

Was ist Git Flow?

Git Flow ist ein Branching-Modell für Git, das die Entwicklung von Softwareprojekten durch die Nutzung verschiedener Branches organisiert. Es definiert klare Regeln für das Anlegen, Zusammenführen und Verwalten von Branches, um parallele Entwicklung, Bugfixes und Releases effizient zu gestalten.

03

Grundprinzipien von Git Flow

Git Flow basiert auf zwei Haupt-Branches: 'master' für produktionsbereiten Code und 'develop' für die Integration neuer Features. Zusätzlich werden Feature-Branches für neue Funktionen, Release-Branches für Vorbereitung von Releases und Hotfix-Branches für schnelle Fehlerbehebungen verwendet.

04

Übersicht der Git Flow Branches

Branch-NameZweckLebensdauerBeispiel
masterProduktionscode, stabile ReleasesPermanentmaster
developIntegration neuer FeaturesPermanentdevelop
featureEntwicklung neuer FeaturesKurzzeitigfeature/login-funktion
releaseVorbereitung eines ReleasesKurzzeitigrelease/1.2.0
hotfixSchnelle Fehlerbehebung im ProduktivcodeKurzzeitighotfix/1.2.1
05

Vorteile von Git Flow

Git Flow bietet eine klare Struktur, die parallele Entwicklung von Features und Bugfixes ermöglicht. Es unterstützt Teams bei der Release-Planung und sorgt für stabile Produktionsversionen. Durch die Trennung verschiedener Entwicklungsphasen wird die Übersichtlichkeit verbessert.

06

Nachteile und Herausforderungen

Git Flow kann für kleine Projekte oder Teams mit schnellen Release-Zyklen zu komplex sein. Die Vielzahl an Branches erfordert Disziplin und eine gewisse Einarbeitungszeit. Zudem kann der Workflow bei sehr agilen Prozessen als zu starr empfunden werden.

07

Typischer Workflow mit Git Flow

Der Workflow beginnt mit dem 'develop'-Branch, von dem Feature-Branches abgezweigt werden. Nach Fertigstellung werden Features zurück in 'develop' gemerged. Für Releases wird ein Release-Branch erstellt, der nach Abschluss in 'master' und 'develop' zurückgeführt wird. Hotfixes werden direkt vom 'master' abgezweigt und nach Fertigstellung in beide Haupt-Branches gemerged.

  • Feature-Branch vom develop-Branch erstellen
  • Feature entwickeln und testen
  • Feature in develop mergen
  • Release-Branch vom develop-Branch erstellen
  • Release vorbereiten und testen
  • Release-Branch in master und develop mergen
  • Hotfix-Branch vom master erstellen
  • Hotfix entwickeln, testen und in master sowie develop mergen
08

Beispiel für einen Feature-Branch-Namen

✦

Ein Feature-Branch für die Implementierung einer Login-Funktion könnte 'feature/login-funktion' heißen. Dieser Branch wird vom develop-Branch abgezweigt und nach Fertigstellung wieder in develop gemerged.

09

Git Flow und Continuous Integration

✦

Git Flow lässt sich gut mit Continuous Integration (CI) kombinieren. Automatisierte Tests können auf Feature-, Release- und Hotfix-Branches ausgeführt werden, um Qualität und Stabilität sicherzustellen, bevor Änderungen in den master-Branch gelangen.

◇

Zusatzinformationen

◇

Begriff: Git Flow

Entwickler: Vincent Driessen

Typ: Branching-Modell für Git

Zweck: Strukturierte Versionsverwaltung und Release-Management

Haupt-Branches: master, develop, feature, release, hotfix

Einsatzgebiet: Softwareentwicklung, Teamprojekte

Vorteile: Klare Struktur, parallele Entwicklung, Release-Planung

Nachteile: Komplexität bei kleinen Projekten, Einarbeitungsaufwand

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Git Flow

Was ist der Hauptzweck von Git Flow?

Git Flow dient der strukturierten Organisation von Entwicklungsprozessen in Git, um parallele Entwicklung, Bugfixes und Releases effizient zu verwalten.

Welche Branches sind in Git Flow zentral?

Die zentralen Branches sind master, develop, feature, release und hotfix.

Für welche Projekte eignet sich Git Flow besonders gut?

Git Flow eignet sich besonders für mittelgroße bis große Projekte mit regelmäßigen Releases und mehreren Entwicklern.

Kann Git Flow in kleinen Projekten zu aufwändig sein?

Ja, in kleinen Projekten oder bei schnellen Release-Zyklen kann Git Flow als zu komplex empfunden werden.

Wie unterstützt Git Flow die Release-Vorbereitung?

Durch den Release-Branch können letzte Tests und Bugfixes vorgenommen werden, bevor der Code in den master-Branch gemerged wird.

Wie funktioniert ein Hotfix in Git Flow?

Ein Hotfix wird direkt vom master-Branch abgezweigt, schnell behoben und anschließend in master und develop zurückgeführt.

Ist Git Flow kompatibel mit Continuous Integration?

Ja, Git Flow lässt sich gut mit CI-Tools kombinieren, um automatisierte Tests in verschiedenen Branches durchzuführen.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Git-Flow Workflow ↗
    nvie.com· Vincent Driessen· WebseiteKI-Vorschlag · ungeprüft

    Originalbeschreibung des Git Flow Modells durch den Entwickler

    https://nvie.com/posts/a-successful-git-branching-model/
  2. 02
    Git Flow Cheatsheet ↗
    danielkummer.github.io· Daniel Kummer· CheatsheetKI-Vorschlag · ungeprüft

    Praktische Übersicht zu Git Flow Befehlen und Workflows

    https://danielkummer.github.io/git-flow-cheatsheet/
  3. 03
    Branching Strategies for Software Development ↗
    Atlassian· Atlassian Team· WebseiteKI-Vorschlag · ungeprüft

    Erklärung des Git Flow Workflows mit Beispielen

    https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.