Informationen zu Pull Requests
Ein Pull Request ist ein Vorschlag zum Zusammenführen einer Reihe von Änderungen von einem Branch in einen anderen. In einem Pull Request können Projektmitarbeiter die vorgeschlagenen Änderungen überprüfen und besprechen, bevor sie die Änderungen in die Standard-Codebasis integrieren. Pull Requests zeigen die Unterschiede zwischen dem Inhalt in der Quellbranch und dem Inhalt in der Zielbranch an.
Note
Beim Arbeiten mit Pull Requests musst du Folgendes beachten:
- Wenn du im freigegebenen Repositorymodell arbeitest, empfiehlt es sich, einen Topic-Branch für deinen Pull Request zu verwenden. Zwar kannst du Pull Requests von jedem Branch oder Commit aus senden, aber mit einem Themen-Branch kannst du Follow-up-Commits übertragen, wenn du deine vorgeschlagenen Änderungen aktualisieren musst.
- Du solltest beim erzwungenen Pushen von Commits an einen Pull Request vorsichtig sein. Erzwungene Pushes ändern den Repositoryverlauf und können deinen Pull Request beschädigen. Wenn andere Projektmitarbeiterinnen das Projekt vor einem erzwungenen Push branchen, überschreibt der erzwungene Push möglicherweise Commits, auf denen die Arbeit anderer Projektmitarbeiterinnen basiert.
Du kannst Pull Requests auf GitHub.com erstellen, mit GitHub Desktop, in GitHub Codespaces, auf GitHub Mobile und wenn du die GitHub-CLI verwendest.
Nach der Initialisierung eines Pull Requests siehst du eine Review-Seite, die einen detaillierten Überblick über die Änderungen zwischen deinem Branch (dem Vergleichs-Branch) und dem Basis-Branch des Repositorys bietet. Du kannst eine Zusammenfassung der vorgeschlagenen Änderungen hinzufügen, die durch Commits vorgenommenen Änderungen überprüfen, Kennzeichnungen, Meilensteine und Bearbeiter*innen hinzufügen sowie einzelne Mitwirkende oder Teams erwähnen (@mention). Weitere Informationen findest du unter Erstellen eines Pull Requests.
Sobald du einen Pull Request erstellt hast, kannst du Commits aus deinem Themen-Branch übertragen, um sie zu deinem bestehenden Pull Request hinzuzufügen. Diese Commits werden in chronologischer Reihenfolge in deinem Pull Request angezeigt, und die Änderungen sind auf der Registerkarte „Files changed“ (Dateien geändert) sichtbar.
Andere Mitarbeiter können deine vorgeschlagenen Änderungen überprüfen, Review-Kommentare hinzufügen, zur Diskussion über den Pull Request beitragen und sogar Commits zum Pull Request hinzufügen. Standardmäßig können Benutzer in öffentlichen Repositorys Reviews übermitteln, die einen Pull Review genehmigen oder Änderungen anfordern. Organisationsbesitzer und Repositoryadministratoren können einschränken, wer Pull Request-Reviews zur Genehmigung durchführen oder Änderungen anfordern kann. Weitere Informationen findest du unter Verwalten von Pull Request-Reviews in deiner Organisation und unter Verwalten von Pull-Anforderungsüberprüfungen in deinem Repository.
Du kannst auf der Registerkarte „Conversation“ Informationen zum aktuellen Bereitstellungsstatus des Branchs und zu vergangenen Bereitstellungsaktivitäten anzeigen. Weitere Informationen findest du unter Bereitstellungsaktivitäten für Dein Repository anzeigen.
Wenn du mit den vorgeschlagenen Änderungen einverstanden bist, kannst du den Pull Request zusammenführen. Wenn du in einem Modell mit gemeinsamen Repositorys arbeitest, erstellst du einen Pull Request und du oder jemand anders wird deine Änderungen von deinem Funktions-Branch in den Basis-Branch zusammenführen, den du im Pull Request angegeben hast. Weitere Informationen findest du unter Einen Pull Request zusammenführen.
Wenn Statusprüfungen für ein Repository erforderlich sind, müssen die erforderlichen Statusprüfungen bestanden werden, bevor Du Deinen Branch mit der geschützten Branch zusammenführen kannst. Weitere Informationen findest du unter Informationen zu geschützten Branches.
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.
Tip
- Du musst OptionAltAlt gedrückt halten und auf Veraltete anzeigen oder Veraltete ausblenden klicken, um alle veralteten Überprüfungskommentare in einem Pull Request zu reduzieren bzw. zu erweitern. Weitere Tastenkombinationen findest du unter Tastenkombinationen.
- Du kannst beim Zusammenführen eines Pull Requests Commits squashen, um eine optimierte Ansicht der Änderungen zu erhalten. Weitere Informationen findest du unter Informationen zum Zusammenführen von Pull Requests.
In deinem Dashboard findest du schnell Links zu zuletzt aktualisierten Pull Requests, an denen du gerade arbeitest oder die du abonniert hast. Weitere Informationen findest du unter Informationen zum persönlichen Dashboard.
Pull Requests entwerfen
Entwürfe von Pull-Requests sind in öffentlichen Repositorys mit GitHub Free für Organisationen und Vorversions-Abrechnungspläne pro Repository verfügbar. Entwürfe von Pull Requests sind auch in öffentlichen und privaten Repositorys mit GitHub Team, GitHub Enterprise Cloud und GitHub Enterprise Server verfügbar. Weitere Informationen findest du unter GitHub-Pläne.
Wenn du einen Pull Request erstellst, kannst du wählen, ob du einen für den Review bereiten Pull Request oder einen Pull-Request-Entwurf erstellen möchten. Pull-Request-Entwürfe können nicht zusammengeführt werden, und Code-Inhaber werden nicht automatisch aufgefordert, Pull-Request-Entwürfe zu überprüfen. Weitere Informationen findest du unter Erstellen eines Pull Requests und Einen Pull Request von einem Fork erstellen.
Wenn Du bereit bist, Feedback zu Deinem Pull Request zu erhalten, kannst Du Deinen Entwurf des Pull Requests als zur Überprüfung bereit markieren. Wenn Du einen Pull Request als bereit zur Überprüfung markierst, werden Reviews von allen Codeinhabern angefordert. Du kannst einen Pull Request jederzeit in einen Entwurf umwandeln. Weitere Informationen findest du unter Die Zustand eines Pull Requests ändern.
Unterschiede zwischen Commits auf Vergleichsseiten und Pull-Request-Seiten
Vergleichsseiten und Pull-Request-Seiten nutzen verschiedene Methoden, um den Unterschied für geänderte Dateien zu berechnen:
- Vergleichsseiten zeigen den Unterschied zwischen dem Anfang der Headreferenz und dem aktuellen gemeinsamen Vorgänger (also der Mergebasis) der Head- bzw. Basisreferenz.
- Pull-Request-Seiten zeigen den Unterschied zwischen dem Anfang der Headreferenz und dem gemeinsamen Vorgänger der Head- bzw. Basisreferenz zum Zeitpunkt der Erstellung des Pull Requests. Folglich kann die für den Vergleich verwendete Mergebasis unterschiedlich sein.