Gestapelte Pull Requests basieren auf standardmäßigen Git-Verzweigungen und regulären Pull Requests, sodass Sie andere Tools als die gh stack CLI für Ihren lokalen Workflow verwenden können. Wenn Sie Verzweigungsketten mit einem anderen Tool verwalten, z. B. Jujutsu (jj), Sapling oder Git-Town, können Sie den gh stack link Befehl verwenden, um diese Verzweigungen als Stack auf GitHub zu öffnen.
Der gh stack link Befehl ruft nur die GitHub API auf, um die gestapelten Pullanforderungen zu erstellen – es wird kein lokales Tracking eingerichtet. Wenn eine Verzweigung bereits über eine offene Pullanforderung verfügt, verwendet link diese. Andernfalls wird eine Entwurfs-Pullanforderung mit dem richtigen Basiszweig erstellt.
Verknüpfen von Branches als Stapel
-
Erstellen Sie Ihre Branch-Kette lokal mit dem Tool Ihrer Wahl. Beispielsweise mit Jujutsu:
jj new main -m "first change" jj bookmark create change1 --revision @ jj new -m "second change" jj bookmark create change2 --revision @ jj new -m "third change" jj bookmark create change3 --revision @ -
Schieben Sie die Verzweigungen und verknüpfen Sie sie als Stapel, der von unten nach oben aufgeführt ist.
gh stack link change1 change2 change3Dadurch werden die Branches gepusht, für jeden ein Pull Request mit der richtigen Basis erstellt und als Stapel auf GitHub verknüpft.
Hinzufügen zu einem vorhandenen Stapel
Wenn Sie einem von Ihnen erstellten linkStapel weitere Verzweigungen hinzufügen möchten, führen Sie gh stack link erneut mit der vollständigen Liste der Pullanforderungen und Verzweigungen im Stapel von unten nach oben aus. Sie können auf vorhandene Pull Requests anhand ihrer Nummer verweisen.
gh stack link 123 124 125 change4 change5
Festlegen eines Basiszweigs oder Öffnen von Pull Requests
Standardmäßig richtet sich link an den Standard-Branch Ihres Repositorys und erstellt Entwürfe von Pull Requests. So ändern Sie dieses Verhalten:
- Verwenden Sie
--base, um einen anderen Trunk-Branch anzugeben. - Verwenden Sie
--open, um die Pullanforderungen statt als Entwurf als bereit für die Überprüfung zu markieren.
gh stack link --base develop --open change1 change2 change3
Übernehmen von Branches für die vollständige lokale Nachverfolgung
Wenn Sie das vollständige lokale Stack-Tracking benötigen, damit Sie Befehle wie gh stack rebase, gh stack sync und Stack-Navigation verwenden können, übernehmen Sie stattdessen Ihre vorhandenen Branches mit gh stack init und übermitteln Sie sie.
gh stack init change1 change2 change3
gh stack submit