Hinweis
Dieses Feature befindet sich in der öffentlichen Vorschau und kann geändert werden.
Verwenden Sie gestapelte Pullanforderungen, um große Codeänderungen in eine Kette kleinerer abhängiger Pullanforderungen zu unterteilen, die Sie unabhängig überprüfen und zusammenführen können.
Ein Stapel ist eine Reihe von Pullanforderungen im selben Repository, in dem jede Pullanforderung auf die Verzweigung der Pullanforderung darunter ausgerichtet ist und eine geordnete Kette bildet, die in einer einzelnen Verzweigung landet, in der Regel Ihre Hauptzweige. Anstelle einer großen Pullanforderung erhalten Sie eine Reihe kleinerer Pullanforderungen. Da jede Pullanforderung über einen eigenen diff mit Relevanz verfügt, können Teamkollegen jede Ebene unabhängig überprüfen und genehmigen.
Voraussetzungen
- GitHub CLI (
gh) 2.90.0 oder höher und Git 2.20 oder höher.- Authentifizieren GitHub CLI mit
gh auth login.
- Authentifizieren GitHub CLI mit
- Ein GitHub Repository, an das Sie pushen können.
Installieren der CLI-Erweiterung
gh extension install github/gh-stack
gh extension install github/gh-stack
Tipp
Um gestapelte Pullanforderungen mit KI-Codierungs-Agents zu verwenden, z GitHub Copilot. B. installieren Sie die gh-stack Fähigkeit.
gh skill install github/gh-stack
gh skill install github/gh-stack
Erstellen des ersten Stapels
-
Um einen Stapel zu initialisieren, navigieren Sie zu Ihrem Repository, und führen Sie den folgenden Befehl aus. Dadurch wird ein Nachverfolgungseintrag und Ihre erste Verzweigung erstellt.
Shell gh stack init
gh stack initSie werden aufgefordert, Ihre erste Verzweigung zu benennen. Standardmäßig verwendet der Stapel die Standardverzweigung Ihres Repositorys (z. B.
main) als Trunk, aber ein Stapel kann auf jede Verzweigung abzielen. -
Arbeiten Sie wie gewohnt an Ihrer ersten Verzweigung: Schreiben Von Code, Phasenänderungen und Commit.
# ... write code ... git add . git commit -m "helpful-commit-message" -
Wenn Sie bereit für die nächste logische Arbeitseinheit sind, fügen Sie oben im Stapel eine neue Verzweigung hinzu.
Shell gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message"
gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message" -
Pushen Sie alle Verzweigungen an die Remoteseite.
Shell gh stack push
gh stack push -
Erstellen Sie Pullanforderungen, und verknüpfen Sie sie als Stapel auf GitHub.
Shell gh stack submit
gh stack submitJede Pullanforderung wird mit dem richtigen Basiszweig erstellt. Ihre ersten Verzweigungsziele
mainund die nächste VerzweigungBRANCH-NAMEzielt auf die erste Verzweigung ab. Prüfer sehen nur den Diff für diese Ebene. Die Pullanforderungen werden automatisch als Stapel GitHub miteinander verknüpft, und Sie können deren Reihenfolge sehen und schnell zwischen ihnen navigieren. -
Zeigen Sie den Stapel an, und sehen Sie den vollständigen Zustand jederzeit.
Shell gh stack view
gh stack viewMit diesem Befehl werden alle Verzweigungen, deren Pullanforderungslinks, Status und der aktuellste Commit für jeden angezeigt.
-
Hiermit
gh stack add -Am "MESSAGE"können Sie alle Änderungen, commit ausführen und die nächste Verzweigung in einem Schritt erstellen. Sie benötigen keine separategit addodergit commit. Wenn die aktuelle Filiale noch keine Verpflichtung hat, landet das Commit dort; wenn er bereits Commits hat, wird eine neue Verzweigung erstellt.# Commit lands on the current branch gh stack add -Am "Auth middleware" # Current branch already has commits, so this creates the next branch gh stack add -Am "API routes" -
Wenn Sie bereit sind, verschieben Sie alles, und erstellen Sie die Pullanforderungen.
Shell gh stack submit
gh stack submit