Warum Ihre PRs ein Flaschenhals sind
Mega-PRs lähmen die Entwicklungsgeschwindigkeit. Das Überprüfen von hunderten, oft tausenden Zeilen Code wird zu einer unmöglichen Aufgabe, was zu übersehenen Fehlern, oberflächlichen Reviews und schwerer Review-Ermüdung führt. Diese monolithischen Änderungen blockieren andere Entwickler bei der Integration ihrer Arbeit und schaffen weit verbreitete Engpässe.
Konsequenz: eskalierende Merge-Konflikte, schnell veraltende Code-Branches und drastisch verzögerte Releases. Dieser ineffiziente Zyklus verschwendet unzählige Entwicklungsstunden, bringt signifikante Risiken in die Codebasis und frustriert Entwicklungsteams durch seine inhärente Komplexität.
GitHub liefert jetzt Stacked PRs, eine offizielle, plattformnative Antwort auf dieses hartnäckige Problem. Dieses robuste Feature geht über Ad-hoc-Workarounds der Community hinaus und integriert ein leistungsstarkes Abhängigkeitsmanagement direkt in Ihren Workflow.
Das Grundkonzept ist einfach: Zerlegen Sie große Codeänderungen in eine Kette kleinerer, voneinander abhängiger Pull Requests. Jeder PR baut direkt auf dem vorherigen auf, was eine unabhängige Überprüfung, Genehmigung und Zusammenführung ermöglicht, ohne das gesamte Feature zu blockieren.
Veranschaulichung dieser Abhängigkeitskette: Ihr anfänglicher, grundlegender PR zielt auf main ab – zum Beispiel eine kritische Datenbank-Schema-Migration. Dann zielt ein zweiter PR auf diesen ersten PR ab und implementiert neue API-Routen, die vom aktualisierten Schema abhängen. Schließlich zielt ein dritter PR auf den zweiten PR ab und fügt UI-Komponenten hinzu, die die neue API nutzen. Dies schafft einen klaren, logischen und überschaubaren Fortschritt für komplexe Features.
Ihr neuer Workflow: Stacken, Hinzufügen, Einreichen
Implementieren Sie Stacked PRs mit der GitHub CLI für einen optimierten, effizienten Workflow. Initiieren Sie Ihren neuen Stack mit gh stack init [branch-name]. Dieser Befehl erstellt Ihren Basis-Branch und basiert ihn automatisch auf dem Standard-Branch Ihres Repositorys, typischerweise main. Dies stellt sicher, dass Ihre untersten Änderungen zuerst bereit sind.
Führen Sie Ihre Entwicklung schrittweise fort, indem Sie weitere Änderungen hinzufügen. Verwenden Sie gh stack add [branch-name], um einen neuen Branch zu erstellen, der automatisch auf dem vorherigen Branch in Ihrem Stack basiert. Dies etabliert eine klare Abhängigkeitskette und stellt sicher, dass jede nachfolgende Änderung logisch auf der vorherigen aufbaut, von grundlegenden Typen bis hin zu API-Routen.
Entscheidend ist, dass Standard-Git-Operationen unter dieser CLI-Bequemlichkeit bestehen bleiben. Jeder gh stack add-Befehl erstellt letztendlich einen neuen Git-Branch, und Sie behalten die Flexibilität, mehrere Commits innerhalb eines einzelnen Branches in Ihrem Stack einzuschließen. Dies bietet strukturierte Entwicklung, ohne die granulare Kontrolle über die Commit-Historie zu opfern.
Wenn alle Änderungen in Ihrem Stack abgeschlossen sind, konsolidieren Sie Ihre Arbeit mit einem einzigen Befehl: gh stack submit. Dies pusht jeden Branch in Ihrem Stack gleichzeitig zu GitHub und generiert individuelle Pull Requests für jeden. GitHub stellt diese dann als zusammenhängenden Stacked PR in der UI dar, was die Überprüfung vereinfacht.
Obwohl die GitHub CLI leistungsstarke Automatisierung und Komfort bietet, ist sie keine strikte Voraussetzung. Entwickler können Stacks weiterhin manuell erstellen, indem sie sicherstellen, dass jeder Pull Request explizit auf den korrekten vorherigen Basis-Branch abzielt. GitHub erkennt und visualisiert diese Abhängigkeiten intelligent, auch ohne CLI-Orchestrierung, und bietet dieselben UI-Vorteile und Review-Erfahrungen.
Jenseits der CLI: Stacks in der Praxis
GitHub wertet stacked PRs mit erstklassiger UI-Unterstützung auf. Achten Sie auf das neue Stack-Symbol auf der Seite mit der Pull-Request-Liste, das sofort anzeigt, dass ein PR Teil einer größeren Abhängigkeitskette ist. Dieser visuelle Indikator vereinfacht die Identifizierung und Verwaltung zusammenhängender Arbeiten und verbessert die allgemeine Projektübersicht.
Tauchen Sie in jeden beliebigen PR innerhalb eines Stacks ein, um die dedizierte Stack-Ansicht zu nutzen. Diese leistungsstarke Schnittstelle visualisiert die gesamte Abhängigkeitskette und bildet die Position jedes PRs, seinen Ziel-Branch und seinen aktuellen Review-Status klar ab. Sie erhalten sofortige Klarheit über komplexe Funktionssets und verstehen Abhängigkeiten sowie Fortschritte auf einen Blick. Weitere grundlegende Details zur Arbeit mit Pull Requests und deren neuen Stack-Funktionen finden Sie unter About stacked pull requests - GitHub Docs.
Die wahre Effizienz zeigt sich mit der Schaltfläche Merge stack. Sobald alle einzelnen PRs in einem Stack genehmigt wurden, führt ein einziger Klick die gesamte genehmigte Kette in den Main-Branch zusammen. GitHub führt das sequentielle Merging automatisch aus und übernimmt alle Zwischenschritte wie Rebasing und Branch-Updates. Dieser atomare Vorgang garantiert ein sauberes, integriertes Merging ohne manuelles Eingreifen, beschleunigt Ihre Delivery-Pipeline und minimiert Merge-Konflikte.
Gefällt Ihnen der Artikel? Erhalten Sie jeden Morgen einen wie diesen per E-Mail.
eine E-Mail pro Tag · Abmeldung mit zwei Klicks · kein Tracking durch Dritte
Stacks sind nicht nur für Menschen da
Kleinere, fokussierte Diffs entblocken Reviewer sofort und beschleunigen Review-Zyklen drastisch. Weniger Kontextwechsel und eine geringere kognitive Belastung bedeuten schnellere Genehmigungen und qualitativ hochwertigeres Feedback. Teams iterieren nun schneller und stellen Funktionen mit beispielloser Effizienz bereit.
Jenseits menschlicher Workflows eröffnen Stacked PRs eine leistungsstarke Zukunft für KI. KI-Agenten können nun komplexe, mehrteilige Funktionen als strukturierte, abhängige Pull Requests einreichen. Dies zerlegt monolithischen, von KI generierten Code in handhabbare, überprüfbare Stücke. Anstatt eines einzigen, massiven Code-Dumps geben Agenten eine für Menschen überprüfbare Abhängigkeitskette aus, die einen klaren, prüfbaren Pfad für die Integration anspruchsvoller KI-Beiträge bietet.
Dieses Feature ist mehr als eine Workflow-Optimierung; es stellt einen grundlegenden Wandel in der kollaborativen Entwicklungspraxis dar. Es definiert grundlegend neu, wie Teams an die Bereitstellung komplexer Funktionen und gleichzeitige Arbeit herangehen. Die Resonanz der Entwickler war überwältigend positiv und bestätigt GitHubs Vision für die Weiterentwicklung der Kernentwicklung. Erwarten Sie sofortige, signifikante Steigerungen der Team-Velocity und des gesamten Projektdurchsatzes.
Häufig gestellte Fragen
Was sind GitHub Stacked PRs?
Ein natives GitHub-Feature zum Erstellen einer Kette kleinerer, abhängiger Pull Requests, die unabhängig überprüft und als eine einzige Einheit zusammengeführt werden können.
Benötige ich das GitHub CLI, um Stacked PRs zu verwenden?
Nein. Das CLI (mit gh stack-Befehlen) vereinfacht den Prozess, aber Sie können einen Stack manuell erstellen, indem Sie nachfolgende PRs auf den Branch des vorherigen PRs ausrichten. GitHub erkennt den Stack automatisch.
Wie unterscheidet sich ein Stack vom einfachen Verketten von PRs?
Obwohl das Git-Konzept ähnlich ist, erkennt GitHub diese Ketten nun offiziell als 'Stack' an. Dies bietet eine dedizierte Benutzeroberfläche zum Verwalten, Visualisieren und Mergen des gesamten Stacks auf einmal, was zuvor ein manueller Prozess war.
Kann ich an anderen Branches arbeiten, während ich einen aktiven Stack habe?
Ja. Ein Stack ist eine Verwaltungsebene über Git. Sie können Standard-Git-Befehle wie git checkout verwenden, um zu nicht verwandten Branches zu wechseln und später ohne Probleme zu einem Branch innerhalb Ihres Stacks zurückzukehren.

