GitHub hat Stacked Pull Requests in die Public Preview verschoben, wodurch Entwickler eine große Änderung in eine Kette abhängiger PRs aufteilen können, die unabhängig voneinander überprüft und gemergt werden können.

Warum dieses Feature wichtig ist

Ein einzelner, monolithischer PR bläht sich oft zu einer monatelangen Review auf, wobei Reviewer gezwungen sind, sich durch nicht zusammenhängenden Code zu kämpfen. Wenn sich der Base-Branch bewegt, sind diese massiven Änderungen anfällig für Merge-Konflikte, die Releases verzögern. Stacked PRs lösen beide Probleme, indem sie einen großen Diff in eine Serie kleinerer, fokussierter Diffs umwandeln, die jeweils auf dem vorherigen aufbauen.

Wie es funktioniert

Erstellen Sie den ersten PR gegen den Main-Branch, basieren Sie dann den nächsten PR auf dem ersten, den dritten auf dem zweiten und so weiter. GitHub verfolgt die Beziehungen automatisch: Wenn Sie den Base-PR ändern, werden die abhängigen PRs aktualisiert, um den neuen Zustand widerzuspiegeln. Reviewer können den gesamten Stack mit einem einzigen Klick absegnen oder einzelne Ebenen einzeln freigeben.

  • Reviews bleiben in einem engen Umfang, was das Feedback beschleunigt.
  • Konflikte werden reduziert, da jeder PR nur den Code berührt, der in seiner eigenen Ebene eingeführt wurde.
  • Die UI zeigt die Stack-Hierarchie an, und das GitHub CLI bietet einen One-Liner, um eine Serie von Stacked PRs zu erstellen.
gh pr create --title Feature A --base main
gh pr create --title Feature B --base feature-a
gh pr create --title Feature C --base feature-b

Das Kommandozeilen-Beispiel erstellt drei verknüpfte PRs, von denen jeder vom vorherigen abhängt. Derselbe Workflow ist über das Web-Interface verfügbar, wo Sie einen PR im Stack umordnen oder entfernen können, ohne die anderen zu beeinträchtigen.

Wer davon profitiert

Große Feature-Teams und Open-Source-Maintainer können inkrementelle Arbeit ausliefern, ohne Reviewer mit nicht zusammenhängenden Code-Änderungen zu belasten. Release-Manager erhalten ein klareres Bild davon, was bereit für das Deployment ist, da jede Stack-Ebene nach ihrem eigenen Zeitplan gemergt werden kann.

Zu beachtende Einschränkungen

Das Feature befindet sich noch in der Preview, daher kann es sich vor einer vollständigen Veröffentlichung noch ändern. Teams müssen neue Gewohnheiten in Bezug auf das Branching annehmen und könnten auf Grenzfälle stoßen, wenn sie einen Stack rebasen, der bereits teilweise gemergt wurde. Die Dokumentation wächst stetig, daher könnten Early Adopter etwas Zeit benötigen, um sich mit den UI-Hinweisen vertraut zu machen.

Worauf man als Nächstes achten sollte

GitHub wird wahrscheinlich eine engere Integration mit Code-Owners und Automatisierungstools einführen und möglicherweise Metriken zur Konfliktreduzierung bereitstellen. Behalten Sie die Ankündigungsseite der Preview im Auge, um Updates zum Zeitpunkt der GA (General Availability) zu erhalten.

Fazit: Stacked Pull Requests bieten Entwicklern eine praktische Möglichkeit, massive Änderungen zu bändigen, indem sie einen einzelnen, konfliktträchtigen PR in eine handhabbare, review-freundliche Sequenz verwandeln. Wenn Ihr Workflow mit langen Reviews und Merge-Problemen zu kämpfen hat, ist die Preview einen Testlauf wert.