Skip to main content

Verwalten einer Mergewarteschlange

Du kannst die Entwicklungsgeschwindigkeit mit einer Mergewarteschlange für Pull Requests in deinem Repository erhöhen.

Who can use this feature

People with admin permissions can manage merge queues for pull requests targeting selected branches of a repository.

Hinweis: Das Warteschlangenfeature für das Mergen von Pull Requests befindet sich derzeit in der eingeschränkten öffentlichen Betaphase und kann jederzeit geändert werden.

Informationen zu Mergewarteschlangen

Eine Mergewarteschlange kann die Geschwindigkeit erhöhen, mit der Pull Requests in einem stark ausgelasteten Zielbranch gemergt werden, während gleichzeitig sichergestellt wird, dass alle erforderlichen Prüfungen zum Schutz des Branches bestanden wurden.

Sobald ein Pull Request alle erforderlichen Prüfungen zum Schutz der Branches bestanden hat, kann ein Benutzer mit Schreibzugriff auf das Repository diesen Pull Request einer Mergewarteschlange hinzufügen.

Eine Mergewarteschlange kann GitHub Actions verwenden. Weitere Informationen findest du unter GitHub Actions.

Mit einer Mergewarteschlange werden temporäre Branches mit einem speziellen Präfix erstellt, um Änderungen in Pull Requests zu überprüfen. Die Änderungen im Pull Request werden dann in eine merge_group mit der neuesten Version des base_branch sowie vorhergehenden Änderungen in der Warteschlange gruppiert. GitHub führt alle diese Änderungen im base_branch zusammen, nachdem die für den Branchschutz erforderlichen Überprüfungen vom base_branch bestanden wurden.

Weitere Informationen zu Mergemethoden findest du unter Informationen zu Pull Request-Merges.

Hinweise:

  • Mergewarteschlangen können nicht mit Branchschutzregeln aktiviert werden, die Platzhalterzeichen (*) im Branchnamenmuster enthalten.
  • Eine Mergewarteschlange wartet, bis erforderliche Überprüfungen gemeldet werden, ehe sie mit Mergen fortfahren kann. Du musst deine CI-Konfiguration aktualisieren, um Mergegruppenereignisse auszulösen und zu melden, wenn eine Mergewarteschlange erforderlich ist.

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

Auslösen von Mergegruppenüberprüfungen mit GitHub Actions

Du kannst das merge_group-Ereignis verwenden, um deinen GitHub Actions-Workflow auszulösen, wenn ein Pull Request einer Mergewarteschlange hinzugefügt wird. Beachte, dass sich dieses Ereignis von den pull_request- und push-Ereignissen unterscheidet.

Ein Workflow, der eine vom Schutz des Zielbranch verlangte Überprüfung meldet, sieht wie folgt aus:

on:
  pull_request:
  merge_group:

Weitere Informationen findest du unter Ereignisse, die Workflows auslösen.

Auslösen von Mergegruppenüberprüfungen bei anderen CI-Anbietern

Bei anderen CI-Anbietern musst du möglicherweise deine CI-Konfiguration aktualisieren, damit sie ausgeführt wird, wenn ein mit dem speziellen Präfix gh-readonly-queue/{base_branch} beginnender Branch erstellt wird.

Verwalten einer Mergewarteschlange

Repositoryadministratoren können eine Mergewarteschlange anfordern, indem sie die Branchschutzeinstellung „Mergewarteschlange anfordern“ in den Schutzregeln für den Basisbranch aktivieren.

Informationen zur Einstellung für die Größe der Mergegruppe

Du kannst die Mergegruppengröße einer Mergewarteschlange konfigurieren, die bestimmt, wie viele Pull Requests in jeder Mergegruppe enthalten sind. Wenn keine Fehler bei der Statusprüfung oder Mergekonflikte auftreten, werden bei Auswahl der standardmäßigen „kleinen“ Größe der Mergegruppe Gruppen mit zwei Pull Requests erstellt. Wenn du weitere Pull Requests pro Gruppe gruppieren möchtest, kannst du die „mittleren“ Größe der Mergegruppe auswählen, um Gruppen mit jeweils fünf Pull Requests zu bilden.

Informationen zum Aktivieren von Schutzeinstellungen für die Mergewarteschlange findest du unter Verwalten einer Branchschutzregel.

Weitere Informationsquellen