Skip to main content
Skip to content

Schnellstart für gestapelte Pull Requests

Installieren Sie die gh stack Erweiterung in GitHub CLI, und erstellen Sie Ihren ersten Satz von gestapelten Pull Requests.

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 Sie sich mit gh auth login bei GitHub CLI.
  • Ein GitHub Repository, an das Sie pushen können.

Installieren der CLI-Erweiterung

Shell
gh extension install github/gh-stack

Tipp

Um gestapelte Pull Requests mit KI-Coding-Agenten wie GitHub Copilot zu verwenden, installieren Sie den gh-stack Skill.

Shell
gh skill install github/gh-stack

Erstellen Sie Ihren ersten Stack

  1. Um einen Stack zu initialisieren, navigieren Sie zu Ihrem Repository, und führen Sie den folgenden Befehl aus. Dadurch wird ein Nachverfolgungseintrag und Ihr erster Branch erstellt.

    Shell
    gh stack init
    

    Sie werden aufgefordert, Ihren ersten Branch zu benennen. Standardmäßig verwendet der Stack den Standard-Branch Ihres Repositorys (z. B. main) als Trunk, aber ein Stack kann auf jeden Branch abzielen.

  2. Arbeiten Sie wie gewohnt an Ihrem ersten Branch: schreiben Sie Code, stagen Sie Änderungen und committen Sie.

    # ... write code ...
    git add .
    git commit -m "helpful-commit-message"
    
  3. Wenn Sie bereit für die nächste logische Arbeitseinheit sind, fügen Sie oben im Stack einen neuen Branch hinzu.

    Shell
    gh stack add BRANCH-NAME
    # ... write code ...
    git add .
    git commit -m "Another-helpful-commit-message"
    
  4. Pushen Sie alle Branches zum Remote.

    Shell
    gh stack push
    
  5. Erstellen Sie Pull Requests und verknüpfen Sie sie auf GitHub als Stapel.

    Shell
    gh stack submit
    

    Jeder Pull Request wird mit dem richtigen Basiszweig erstellt. Ihr erster Branch zielt auf main und der nächste Branch BRANCH-NAME zielt auf den ersten Branch. Prüfer sehen nur den Diff für diese Ebene. Die Pull Requests werden automatisch als Stapel GitHub miteinander verknüpft, und Sie können deren Reihenfolge sehen und schnell zwischen ihnen navigieren.

  6. Zeigen Sie den Stack an, und sehen Sie jederzeit den vollständigen Status.

    Shell
    gh stack view
    

    Mit diesem Befehl werden alle Branches, deren Pull-Request-Links, Status und der aktuellste Commit für jeden Branch angezeigt.

  7. Mit gh stack add -Am "MESSAGE" können Sie alle Änderungen stagen, committen und den nächsten Branch in einem Schritt erstellen. Sie benötigen keine separate git add oder git commit. Wenn der aktuelle Branch noch keinen Commit hat, landet das Commit dort; wenn er bereits Commits enthält, 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"
    
  8. Wenn Sie bereit sind, pushen Sie alles und erstellen Sie die Pull Requests.

    Shell
    gh stack submit
    

Nächste Schritte