Skip to main content

Zusammenführen eines Pull Requests mit einer Mergewarteschlange

Wenn die Branchschutzeinstellung für den Branch eine Mergewarteschlange vorschreibt, kannst du deine Pull Requests zu einer Mergewarteschlange hinzufügen. GitHub mergt dann die Pull Requests für dich, sobald alle erforderlichen Überprüfungen bestanden wurden.

Wer kann dieses Feature verwenden?

Pull request merge queues are available in any public repository owned by an organization, or in private repositories owned by organizations using GitHub Enterprise Cloud. For more information, see "GitHub’s plans."

Tool navigation

Informationen zu Mergewarteschlangen

Eine Mergewarteschlange hilft dabei, die Geschwindigkeit zu erhöhen, indem Pull Request-Merges in einem ausgelasteten Branch automatisiert werden und sichergestellt wird, dass der Branch nie durch inkompatible Änderungen unterbrochen wird.

Die Mergewarteschlange bietet die gleichen Vorteile wie der Branchschutz Aktualität von Branches vor dem Mergen erfordern. Es ist jedoch nicht erforderlich, dass Pull Request-Ersteller*innen ihren Pull Request-Branch aktualisieren und auf den Abschluss der Statusüberprüfungen warten, bevor der Merge versucht wird.

Die Verwendung einer Mergewarteschlange ist besonders nützlich für Branches mit einer relativ hohen Anzahl von Pull Requests, die täglich von vielen verschiedenen Benutzer*innen zusammengeführt werden.

Sobald ein Pull Request alle erforderlichen Prüfungen zum Schutz der Branches bestanden hat, kann eine Benutzerin mit Schreibzugriff auf das Repository diesen Pull Request der Warteschlange hinzufügen. Die Mergewarteschlange stellt sicher, dass die Pull Request-Änderungen alle erforderlichen Statusüberprüfungen bestehen, wenn sie auf die neueste Version des Zielbranch und alle Pull Requests angewendet werden, die sich bereits in der Warteschlange befinden.

Eine Mergewarteschlange kann GitHub Actions oder einen eigenen CI-Anbieter verwenden, um erforderliche Überprüfungen für Pull Requests in einer Mergewarteschlange auszuführen. Weitere Informationen findest du unter GitHub Actions-Dokumentation. Weitere Informationen zu Mergewarteschlangen findest du unter Verwalten einer Mergewarteschlange.

Hinzufügen eines Pull Requests zu einer Mergewarteschlange

Hinweis: Du kannst GitHub CLI verwenden, um einer Mergewarteschlange einen Pull Request hinzuzufügen. Klicke auf die Registerkarte „GitHub CLI“ oben in diesem Artikel, um weitere Informationen zu erhalten.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Klicke unter dem Namen deines Repositorys auf -Pull Requests.

    Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.

  3. Klicke in der Liste „Pull Requests“ auf den Pull Request, den du einer Mergewarteschlange hinzufügen möchtest.

  4. Klicke auf Zusammenführen, wenn bereit, um den Pull Request der Mergewarteschlange hinzuzufügen. Als Administrator hast du alternativ folgende Möglichkeit:

    • Du kannst den Pull Request direkt mergen, indem du das Kontrollkästchen Zusammenführen, ohne auf die Erfüllung der Anforderungen zu warten (Umgehen des Branchschutzes) aktivierst (sofern dies laut Branchschutzeinstellungen zulässig ist) und dem Standardflow folgst.

    Screenshot der Optionen für die Mergewarteschlange für einen Pull Request

    Hinweis: Du kannst auf Mergen, wenn bereit klicken, wenn du bereit bist, deine vorgeschlagenen Änderungen zu mergen. GitHub fügt den Pull Request automatisch der Mergewarteschlange hinzu, sobald die erforderlichen Bedingungen für Genehmigungs- und Statusüberprüfung erfüllt sind.

  5. Klicke auf „Zusammenführen, wenn bereit“ bestätigen, um zu bestätigen, dass du den Pull Request der Mergewarteschlange hinzufügen möchtest.

Mit GitHub CLI kannst du den Befehl gh pr merge verwenden, um einer Mergewarteschlange einen Pull Request hinzuzufügen. Wenn du auf einen Branch abzielst, für den eine Mergewarteschlange erforderlich ist, fügt dieser Befehl den Pull Request automatisch der Warteschlange hinzu, sofern die erforderlichen Überprüfungen bestanden wurden. Wenn die erforderlichen Überprüfungen nicht bestanden wurden, aktiviert dieser Befehl die automatische Zusammenführung für den Pull Request. Weitere Informationen findest du unter gh pr merge im Handbuch GitHub CLI.

Entfernen eines Pull Requests aus einer Mergewarteschlange

Um einen Pull Request aus einer Mergewarteschlange zu entfernen, navigierst du zur Seite des Repositorys in GitHub.com. Du kannst die GitHub CLI nicht verwenden, um einen Pull Request aus einer Mergewarteschlange zu entfernen.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Klicke unter dem Namen deines Repositorys auf -Pull Requests.

    Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.

  3. Klicke in der Liste „Pull Requests“ auf den Pull Request, den du aus einer Mergewarteschlange entfernen möchtest.

  4. Klicke auf Aus Warteschlange entfernen, um den Pull Request aus der Warteschlange zu entfernen.

    Screenshot der Mergewarteschlangennachricht am Ende eines Pull Requests Die Schaltfläche „Aus Warteschlange entfernen“ ist dunkelorange umrandet.

Alternativ kannst du zur Seite der Mergewarteschlange für den Basis-Branch navigieren, neben dem Pull Request, den du entfernen möchtest, auf ... klicken und anschließend Aus Warteschlange entfernen auswählen. Wie du zur Seite der Mergewarteschlange für den Basis-Branch gelangst, erfährst du im nächsten Abschnitt.

Anzeigen von Mergewarteschlangen

Die Mergewarteschlange für einen Basis-Branch kann in GitHub an verschiedenen Orten angezeigt werden: Du kannst die GitHub CLI nicht verwenden, um eine Mergewarteschlange anzuzeigen.

Die Mergewarteschlange für einen Basis-Branch kann in GitHub an verschiedenen Orten angezeigt werden:

  • Auf der Seite Branches für das Repository. Diese Route empfiehlt sich, wenn du nicht über einen Pull Request in einer Warteschlange verfügst oder keine Informationen zu einem Pull Request hast, der sich bereits in einer Warteschlange befindet, und ermitteln möchtest, was die Warteschlange enthält. Weitere Informationen findest du unter Branches in Deinem Repository anzeigen.

    Screenshot der Seite „Branches“ für ein Repository. Ein Link mit der Bezeichnung „33 Pull Requests in der Warteschlange zum Mergen“ ist dunkelorange umrandet.

  • Scrolle auf der Seite „Pull Requests“ in der Zeitskala ganz nach unten, und klicke auf den Link Mergewarteschlange, wenn die Mergewarteschlange zum Zusammenführen benötigt wird.

    Screenshot der Mergewarteschlangennachricht am Ende eines Pull Requests Der Link „Mergewarteschlange“ ist in dunklem Orange eingerahmt.

  • Die Mergewarteschlangenansicht zeigt die Pull Requests, die sich derzeit in der Warteschlange befinden. Deine Pull Requests sind dabei gut sichtbar markiert.

    Screenshot der Mergewarteschlange

Informationen dazu, warum dein Pull Request aus der Mergewarteschlange entfernt wurde

Wenn ein Pull Request mit der neuesten Version des Zielbranch und den vorhergehenden Änderungen in der Warteschlange gruppiert wurde und die erforderlichen Statusprüfungen fehlgeschlagen sind oder Konflikte mit dem Basisbranch bestehen, wird der Pull Request aus der Warteschlange entfernt. In der Zeitachse des Pull Requests wird angezeigt, warum der Pull Request aus der Warteschlange entfernt wurde.

Es gibt eine Reihe von Gründen, warum ein Pull Request aus einer Mergewarteschlange entfernt wird:

  • Der konfigurierte CI-Dienst meldet Testfehler für eine Mergegruppe.
  • Beim Warten auf ein erfolgreiches CI-Ergebnis ist basierend auf der konfigurierten Timeouteinstellung ein Timeout aufgetreten.
  • Eine Benutzerin fordert eine Entfernung über die API oder die Schnittstelle der Mergewarteschlange an.
  • Fehler beim Branchschutz, der nicht automatisch behoben werden konnte