Informationen zum Zusammenführen von Pull Requests
Mit einem Pull Request schlägst Du vor, dass Änderungen, die Du an einem Head-Branch gemacht hast, in einen Basis-Branch zusammengeführt werden sollten. Standardmäßig kann jeder Pull Request jederzeit zusammengeführt werden, es sei denn, der Head-Branch steht in Konflikt mit dem Basisbranch. Eventuell gibt es jedoch Einschränkungen bezüglich wann du ein Pull Request in einen bestimmten Branch mergen kannst. So kannst du einen Pull Request beispielsweise nur in den Standardbranch mergen, wenn alle erforderlichen Statuschecks bestanden wurden. Repositoryadministrator*innen können Branches Einschränkungen wie diese hinzufügen, indem sie Branchschutzregeln verwenden. Weitere Informationen findest du unter Informationen zu geschützten Branches.
Alternativ zu den Regeln zum Schutz von Verzweigungen oder zum Schutz von Tags können Sie auch Regelsätze erstellen. Regelsätze haben einige Vorteile gegenüber branch und tag Schutzregeln, wie z.B. Status und bessere Auffindbarkeit ohne Admin-Zugang. Sie können auch mehrere Regelsätze gleichzeitig anwenden. Weitere Informationen findest du unter Informationen zu Regelsätzen.
Du kannst einen Pull Request konfigurieren, um automatisch zusammenzuführen, wenn alle Zusammenführungsanforderungen erfüllt sind. Weitere Informationen findest du unter Automatisches Zusammenführen eines Pull Requests.
Wenn bei dem Pull Request Mergekonflikte auftreten oder du die Änderungen vor dem Mergen testen möchtest, kannst du den Pull Request lokal auschecken und ihn mit der Befehlszeile mergen.
Pull-Request-Entwürfe kannst du nicht zusammenführen. Weitere Informationen zu Pull Requests-Entwürfen findest du unter Informationen zu Pull Requests.
Dein Repository könnte so konfiguriert sein, dass der Headbranch eines Pull Requests automatisch gelöscht wird, wenn du ein Pull Request mergest. Weitere Informationen findest du unter Automatische Löschung von Branches verwalten.
Note
Wenn du einen Haupt-Branch löschst, nachdem sein Pull Request zusammengeführt wurde, wird GitHub auf offene Pull Requests für das gleiche Repository prüfen, die den gelöschten Branch als ihren Basis-Branch angeben. GitHub aktualisiert solche Pull Requests automatisch, indem es deren Basis-Branch auf den Basis-Branch des zusammengeführten Pull Requests ändert. Weitere Informationen findest du unter Informationen zu Branches.
Pull Requests werden mithilfe der --no-ff
-Option zusammengeführt, außer Pull Requests mit Squashcommits oder Commits, für die ein Rebase ausgeführt wurde. Diese werden mit der Fast-Forward-Option zusammengeführt.
Du kannst einen Pull Request mit einem Issue verknüpfen, um zu zeigen, dass ein Fix in Arbeit ist und das Issue automatisch zu schließen, wenn jemand den Pull Request mergt. Weitere Informationen findest du unter Einen Pull Request zu einem Issue verknüpfen.
Wenn du die Änderungen in einem Topic-Branch nicht in den Upstream-Branch mergen möchtest, kannst du ohne Mergen den Pull Request schließen.
Einen Pull Request zusammenführen
-
Klicke unter dem Namen deines Repositorys auf -Pull Requests.
-
Klicke in der Liste „Pull Requests“ auf den Pull Request, den Du zusammenführen möchtest.
-
Scrolle bis zum Ende des Pull Requests. Je nach den Merge-Optionen, die für Dein Repository aktiviert sind, stehen Dir folgende Möglichkeiten zur Verfügung:
-
Führe alle Commits in den Basebranch zusammen, indem du auf Pull Request mergen klickst. Wenn die Option Pull Request mergen nicht angezeigt wird, klicke auf die Dropdownliste für das Mergen, und wähle Mergecommit erstellen aus.
-
Squashe die Commits in ein Commit, indem du auf die Dropdownliste zum Mergen klickst, Squashen und mergen auswählst und dann auf Squashen und mergen klickst.
-
Führe für die Commits separat Rebases auf den Basisbranch aus, indem du auf die Dropdownliste zum Mergen klickst, Rebase ausführen und mergen auswählst und dann auf Rebase ausführen und mergen klickst.
Note
„Rebase and merge“ sorgt immer dafür, dass die Committerinformationen aktualisiert und neue Commit-SHAs erstellt werden. Weitere Informationen findest du unter Informationen zum Zusammenführen von Pull Requests.
-
-
Wenn Du dazu aufgefordert wirst, gib eine Commit-Mitteilung ein oder akzeptiere die Standardmitteilung.
Informationen zu den Standardcommitnachrichten für Squashmerges findest du unter Informationen zum Zusammenführen von Pull Requests.
Note
Der E-Mail-Selektor ist nicht für Rebasemerges verfügbar, die keinen Mergecommit, oder für Squashmerges, bei denen der Benutzer, der den Pull Request erstellt hat, als Autor des Squashed Commits angeführt wird.
-
Klicke auf Merge bestätigen, Squash und Merge bestätigen oder Rebase und Merge bestätigen.
-
Lösche optional den Branch. So bleibt die Liste der Branches in Deinem Repository ordentlich.
Note
Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.
Verwende den Unterbefehl gh pr merge
, um einen Pull Request zu mergen. Ersetze pull-request
durch die Nummer, die URL oder den HEAD-Branch des Pull Requests.
gh pr merge PULL-REQUEST
Folge den interaktiven Aufforderungen, um den Merge abzuschließen. Weitere Informationen zu den auswählbaren Mergemethoden findest du unter Informationen zum Zusammenführen von Pull Requests.
Alternativ kannst du Flags verwenden, um die interaktiven Aufforderungen zu überspringen. Dieser Befehl beispielsweise squasht die Commits mit der Commitmeldung „my squash commit“ in einen einzigen Commit, merget den Squashcommit in den Basebranch und löscht dann den lokalen und den Remotebranch.
gh pr merge 523 --squash --body "my squash commit" --delete-branch