Hinweis
Dieses Feature befindet sich in der öffentlichen Vorschau und kann geändert werden.
Gestapelte Pull Requests werden von unten (dem Trunk am nächsten) nach oben zusammengeführt.
- Sie können eine beliebige Anzahl von Pullanforderungen gleichzeitig zusammenführen, solange sie eine zusammenhängende Gruppe bilden, beginnend mit der niedrigsten nicht zusammengeführten Pullanforderung.
- Sie können eine Mid-Stack-Pullanforderung nicht isoliert zusammenführen, die darunter liegenden Pullanforderungen werden immer mit ihr zusammengeführt.
Merge-Anforderungen
Das Merge-Feld für einen gestapelten Pull Request zeigt den Status des gesamten Stapels an und nicht nur den des aktuellen Pull Requests. Bevor eine Pullanforderung im Stapel zusammengeführt werden kann, muss Folgendes wahr sein:
- Alle darunterstehenden Pull Requests sind genehmigt und haben alle Prüfungen erfolgreich bestanden.
- Der Stapel weist einen linearen Verlauf auf.
- Der aktuelle Pull Request erfüllt alle Anforderungen des Branch-Schutzes für die Stack-Basis, wie
main.
Wenn der Stack nicht linear ist, zum Beispiel nachdem Änderungen in einen weiter unten liegenden Branch gepusht wurden oder nachdem der Trunk weiter vorgerückt ist, erscheint im Zusammenführungsfeld die Schaltfläche Stack rebasen, und Sie müssen den Stack rebasen, bevor Sie ihn zusammenführen können.
Hinweis
- Wenn Sie über die API zusammenführen und gestapelte Pullanforderungen verwenden möchten, müssen Sie Ihren Code aktualisieren, um die neue Zusammenführungs-API für Stapel zu verwenden. Siehe REST-API-Endpunkte für Pullanforderungen.
- Die automatische Zusammenführung wird für gestapelte Pullanforderungen nicht unterstützt.
Zusammenführen mithilfe einer Merge-Warteschlange
Stacks unterstützen Merge-Warteschlangen vollständig. Alle Pullanforderungen im Stapel werden der Warteschlange in der richtigen Reihenfolge hinzugefügt. Wenn eine Pullanforderung aus der Warteschlange entfernt oder ausgeworfen wird, werden auch alle Pullanforderungen darüber im Stapel entfernt.
Hinweis
Damit ein Stack zusammenbleibt, erlaubt die Merge-Warteschlange, dass die Merge-Gruppe ihre konfigurierte maximale Größe um bis zu 50 Prozent überschreitet. Wenn der Stapel zu groß ist, um in diesen Puffer zu passen, wird er automatisch in aufeinander folgende Zusammenführungsgruppen aufgeteilt.
Zusammenführen von unten nach oben
-
Navigieren Sie zur niedrigsten nicht zusammengeführten Pullanforderung im Stapel oder zu einer höheren Pullanforderung, wenn Sie eine zusammenhängende Gruppe bis zu diesem Punkt zusammenführen möchten.
-
Vergewissern Sie sich, dass die Pullanforderung und alle darunter liegenden Pull-Anforderungen den Zusammenführungsanforderungen entsprechen.
-
Führe die Pull Request zusammen. Der ausgewählte Pull Request und alle darunterliegenden, noch nicht zusammengeführten Pull Requests werden gemeinsam in einem einzigen Vorgang in den Basis-Branch übernommen und sind in der resultierenden Historie von unten nach oben angeordnet.
Nach der Zusammenführung wird der nächste noch nicht zusammengeführte Pull Request automatisch direkt auf die Stackbasis neu basiert, sodass er ans Ende rutscht und zur Prüfung und Zusammenführung bereit ist.
Sobald jede Pullanforderung in einem Stapel zusammengeführt wurde, ist der Stapel abgeschlossen und kann nicht erweitert werden. Wenn Sie oberhalb neue Branches hinzufügen und gh stack submit ausführen, startet GitHub CLI automatisch einen neuen Stack, der für diese Branches im Trunk verwurzelt ist.