Develop Branch in Git — was es ist, Zweck und Funktionsprinzipien

Autor: IT Sectr Veröffentlicht: 2026-05-09 Lesezeit: 8 Min.

Develop Branch ist der Hauptintegrationsbranch in Git Flow, in den alle abgeschlossenen Feature-Branches vor der Vorbereitung eines Releases gemergt werden. Im Gegensatz zu main enthält develop die neuesten, aber noch nicht veröffentlichten Änderungen — hier findet die tägliche Code-Integration aller Teamentwickler statt. Laut Atlassian, 2024 ist develop ein obligatorischer Branch in Git Flow und bietet eine stabile Integrationsumgebung für das Team.

Wichtige Erkenntnisse

  • Develop Branch ist der Entwicklungsbranch, in dem alle abgeschlossenen Funktionen vor der Vorbereitung eines Releases gesammelt werden.
  • Quelle von Feature-Branches — alle neuen Funktionen werden vom letzten develop-Commit erstellt.
  • Integrationstests werden auf develop durchgeführt, bevor ein Release-Branch erstellt wird.
  • Develop-Stabilität muss hoch sein — Code durchläuft hier Code-Review und automatisierte Prüfungen.
  • Merge in main erfolgt nur über einen Release-Branch, nicht direkt von develop.

Was ist Develop Branch in Git

Develop Branch (Entwicklungsbranch) ist ein langlebiger Branch in Git Flow, der als zentraler Knotenpunkt für die Code-Integration aller Entwickler dient. Feature-Branches werden nach Abschluss der Entwicklung und Code-Review in ihn gemergt.

Code in develop ist immer in einem Zustand, der für die Erstellung eines Releases bereit ist, obwohl er noch nicht in Produktion bereitgestellt wurde. Das bedeutet, dass alle Funktionen in develop Review, Tests und Integrationsprüfungen durchlaufen haben, aber noch auf ihren Release-Zyklus warten.

Im Gegensatz zu main, wo jede Code-Version ein Release ist, enthält develop einen kontinuierlichen Strom von Änderungen. Commits in develop erscheinen, wenn Feature-Branches gemergt werden, was mehrmals täglich geschehen kann.

Laut Vincent Driessen, 2010 ist develop ein Schlüsselelement eines erfolgreichen Branching-Modells, da es Entwurfsarbeit von releasebereiten Versionen trennt.

Unterschiede zwischen develop und main Branch

Die Unterschiede zwischen develop und main zu verstehen, ist für einen korrekten Git Flow-Workflow entscheidend. Diese Branches haben unterschiedliche Funktionen und unterschiedliche Stabilitätsanforderungen.

MerkmalDevelopMain / Master
ZweckIntegration neuer FunktionenStabiler Release-Code
StabilitätHoch (nach Tests)Maximal (Produktion)
Commit-HäufigkeitTäglich (Feature-Merge)Pro Release (alle 1-4 Wochen)
Branch-QuelleDavon werden Feature erstelltDavon werden Hotfix erstellt
MergeVon Feature per PRVon Release per Merge

Die Aufteilung in develop und main ermöglicht es dem Team, kontinuierlich neuen Code zu integrieren, ohne die Stabilität der Produktionsversion zu gefährden. Entwickler können ihren Code in develop sofort nach PR-Genehmigung sehen, noch vor der offiziellen Veröffentlichung.

Rolle von develop in Git Flow

Im Git Flow-Modell nimmt develop eine zentrale Stellung zwischen Feature-Branches (Quelle der Änderungen) und Release-Branches (Vorbereitung für Release) ein. Das Verständnis dieser Hierarchie ist die Grundlage für effektives Branching.

  • Feature → Develop — jede abgeschlossene Funktion wird über einen Pull Request mit Code-Review in develop gemergt.
  • Develop → Release — wenn genügend Änderungen für ein Release angesammelt sind, wird von develop ein Release-Branch erstellt.
  • Release → Main + Develop — nach der endgültigen Vorbereitung wird der Release-Branch in main (Release) und zurück in develop (Bugfixes) gemergt.
  • Hotfix → Main + Develop — kritische Korrekturen werden von main erstellt und in beide Branches gemergt.

Diese Struktur stellt sicher, dass develop immer den neuesten Code mit allen neuen Funktionen enthält, während main nur verifizierten Produktionscode enthält. Dies ist besonders wichtig für Mobilprojekte mit langen Review-Zyklen im App Store und Google Play.

Beziehung von develop zu anderen Git Flow-Branches

Develop fungiert als zentrale Verbindung zwischen Feature-, Release- und Hotfix-Branches. Das Verständnis der Merge-Richtungen ist unerlässlich, um Konflikte und Commit-Verluste zu vermeiden.

Code-Qualitätsanforderungen in develop

Die Code-Qualität in develop muss hoch sein, aber nicht absolut. Im Gegensatz zu main, wo jeder Fehler einen dringenden Hotfix bedeutet, erlaubt develop kleinere Unvollkommenheiten, die vor dem Release behoben werden.

Mindestanforderungen an den Code vor dem Merge in develop:

  • Kompilierung — Code muss fehlerfrei kompilieren. Ein kaputter Build in develop blockiert die Arbeit des gesamten Teams.
  • Unit-Tests — alle vorhandenen Tests müssen bestehen. Neuer Code muss zu mindestens 70% durch Tests abgedeckt sein.
  • Code-Stil — Code muss den im Team akzeptierten Formatierungs- und Namensstandards entsprechen.
  • Keine veraltete API — die Verwendung veralteter Methoden ist in neuem Code nicht erlaubt.

Automatisierte Prüfungen in der CI/CD-Pipeline sollten bei jedem Push in develop ausgeführt werden. Wenn der Build kaputt geht, muss der verantwortliche Entwickler das Problem innerhalb einer Stunde beheben oder seinen Commit zurücknehmen.

CI/CD-Prüfungen für develop

Die Einrichtung von GitHub Actions für develop stellt sicher, dass jeder PR vor dem Merge automatisierte Prüfungen durchläuft. Eine typische Pipeline umfasst Build, Tests und Linting.

yaml
# GitHub Actions — Überprüfung von develop nach dem Merge
name: Develop CI

on:
  pull_request:
    branches: [develop]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Unit tests
        run: ./gradlew testDebug
      - name: Lint
        run: ./gradlew lint
      - name: Build
        run: ./gradlew assembleDebug

Merge-Regeln für develop

Der Merge in develop muss strengen Regeln folgen, um die Stabilität des Integrationsbranches zu erhalten. Ein Verstoß gegen diese Regeln führt zu Konflikten, kaputten Builds und Zeitverschwendung des Teams.

  • Nur über Pull Request — direkter Push in develop ist verboten. Alle Änderungen durchlaufen ein Code-Review.
  • Mindestens eine Genehmigung — PR muss von mindestens einem nicht an der Aufgabe beteiligten Entwickler genehmigt werden.
  • Squash Merge — es wird empfohlen, alle Commits des Feature-Branches beim Merge in develop zu einem zusammenzufassen, für eine saubere Historie.
  • PR aktuell halten — vor dem Merge muss der PR relativ zum letzten develop-Commit aktualisiert werden (Rebase oder Merge).

Die Regel PR aktuell halten ist besonders wichtig. Wenn ein Feature-Branch vor einer Woche erstellt wurde und develop 50 Commits voraus ist, kann ein direkter Merge zu Konflikten führen, die besser im Kontext des PR als in develop gelöst werden.

Schutz von develop vor fehlerhaften Merges

Branch Protection Rules sind Einstellungen auf GitHub-, GitLab- oder Bitbucket-Ebene, die fehlerhafte Änderungen in develop verhindern. Sie stellen sicher, dass selbst ein versehentlicher Push den Integrationsbranch nicht beschädigt.

Empfohlene Schutzregeln für develop:

  • Pull Request erforderlich — direkten Push in develop verbieten. Alle Änderungen nur per PR.
  • Genehmigungen erforderlich — mindestens 1-2 Genehmigungen vor dem Merge des PR.
  • Statusprüfungen erforderlich — Merge blockieren, wenn CI/CD-Pipeline nicht bestanden wurde.
  • Aktualität erforderlich — PR-Branch muss vor dem Merge relativ zu develop aktualisiert werden.
  • Push-Zugriff einschränken — Push-Rechte auf develop nur für Senior-Entwickler beschränken.

Die Einrichtung des develop-Schutzes dauert 10 Minuten, verhindert aber wochenlange Ausfallzeiten aufgrund eines kaputten Integrationsbranches. Für Mobilprojekte mit plattformübergreifenden Teams ist dies besonders relevant.

Beispielbefehle für die Arbeit mit develop

Betrachten wir einen typischen Entwicklertag: Am Morgen aktualisiert er develop, erstellt einen neuen Feature-Branch und merged nach Abschluss der Aufgabe die Änderungen zurück in develop.

bash
# Morgendliche develop-Synchronisation
git checkout develop
git pull origin develop

# Erstellen eines neuen Feature-Branches von develop
git checkout -b feature/add-push-notifications

# Arbeiten an der Funktion...
git add . && git commit -m "Add FCM integration"

# Aktualisierung von develop während der Entwicklung
git fetch origin develop
git rebase origin/develop

# Nach PR-Genehmigung — lokales develop aktualisieren
git checkout develop
git pull origin develop
git branch -d feature/add-push-notifications

Der Befehl git pull in develop führt zwei Operationen gleichzeitig aus: git fetch (holt neue Commits vom Server) und git merge (führt sie mit dem lokalen Branch zusammen). Für develop ist dies die Standard-Synchronisationsmethode.

Wiederherstellung von develop nach einem fehlerhaften Merge

Wenn Code, der den Build kaputt macht, in develop gelangt, muss schnell gehandelt werden. Jede Stunde develop-Ausfallzeit ist blockierte Arbeit für das gesamte Entwicklungsteam.

Wenn Code, der den Build kaputt macht, in develop gelangt, verwenden Sie git revert, um einen neuen Commit zu erstellen, der die problematischen Änderungen rückgängig macht. Verwenden Sie git reset nicht in develop — es überschreibt die Historie, die andere Teammitglieder bereits haben.

bash
# Finden des problematischen Commits
git log --oneline develop

# Commit-Rücknahme per Revert (sicher)
git revert a1b2c3d

# Fix an entferntes develop senden
git push origin develop

# Änderungen in einem bestimmten Commit anzeigen
git show a1b2c3d --stat

Häufig gestellte Fragen

Ist ein develop-Branch in einem kleinen Projekt notwendig?

Für Projekte mit ein bis zwei Entwicklern ist develop oft überflüssig — main und Feature-Branches reichen aus. Sobald das Team auf 3+ Personen anwächst, wird develop notwendig, um unfertige Funktionen vom stabilen Produktionscode zu isolieren.

Kann man direkt in develop committen?

Nein, direkte Commits in develop sind in jedem professionellen Projekt verboten. Alle Änderungen durchlaufen einen Pull Request mit Code-Review und automatisierten Prüfungen. Ausnahme sind administrative Bearbeitungen von README oder CI-Konfiguration, aber auch diese sind besser über einen PR zu erledigen.

Wie unterscheidet sich develop von Trunk-Based Development?

Bei Trunk-Based Development gibt es keinen separaten develop-Branch — alle Entwickler arbeiten in main mit sehr kurzen Feature-Branches (1-2 Tage). Dies ist eine Alternative zu Git Flow, die in der DevOps-Kultur mit hohem Automatisierungsgrad der Tests beliebt ist.

Wie oft sollte develop mit Release-Änderungen aktualisiert werden?

Nach jedem Release wird der Release-Branch zurück in develop gemergt, um alle während der Release-Vorbereitung vorgenommenen Korrekturen zu übernehmen. Wenn dies nicht geschieht, weicht develop vom Release-Code ab, was beim nächsten Release zu Konflikten führt.

Was tun, wenn develop kaputt ist und niemand einen PR erstellen kann?

Wenn develop kaputt ist, erstellt ein Senior-Entwickler einen Hotfix-Branch vom letzten stabilen Commit, behebt das Problem und merged den Fix direkt in develop über einen PR mit Sonderstatus. Nach der Wiederherstellung wird eine Ursachenanalyse durchgeführt.

Zusammenfassung

  • Develop Branch ist der zentrale Integrationsbranch in Git Flow, in den nach dem Code-Review alle abgeschlossenen Feature-Branches gemergt werden.
  • Die Trennung von develop und main isoliert unfertige Funktionen vom stabilen Produktionscode und reduziert das Risiko von Release-Fehlern.
  • Code-Qualität in develop muss hoch sein: Kompilierung, bestandene Tests und Code-Stil werden automatisch geprüft.
  • Direkter Push in develop ist verboten — nur per Pull Request mit mindestens einer Genehmigung eines Kollegen.
  • Branch-Schutz durch Branch Protection Rules verhindert versehentliche Beschädigungen der Integrationsumgebung.
  • Der Release-Branch wird von develop erstellt und nach dem Release zurückgemergt, wodurch develop mit dem tatsächlichen Code-Stand synchronisiert wird.
  • Empfehlung: Richten Sie CI/CD-Prüfungen bei jedem Push in develop ein und verlangen Sie, dass der PR vor dem Merge aktuell ist.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch