Übersicht
git request-pull [-p] <start> <url> [<end>]
Beschreibung
Der git request-pull-Befehl erzeugt eine textuelle Zusammenfassung, die einen Upstream-Maintainer bittet, Änderungen aus Ihrem Repository zu pullen. Die Ausgabe enthält eine Liste von Commits im Bereich, ein Diffstat, die URL und Ref zum Pullen und (falls zutreffend) den SHA der getaggten Version. Es ist die Standardmethode, einen Pull Request per E-Mail auf von Mailinglisten getriebenen Projekten zu senden.
Das ist nicht verwandt mit GitHub/GitLab Pull Requests — es ist älter. Die Ausgabe ist dazu gedacht, in eine E-Mail an den Upstream-Maintainer eingefügt zu werden.
Im täglichen Einsatz integriert sich git request-pull eng mit Shell-Aliasen, Editor-Plugins und Continuous Integration. Power-User fügen oft Aliase hinzu, die Flags kombinieren, die sie immer übergeben, oder wickeln den Befehl in Skripte, die Teamkonventionen durchsetzen. Die Ausgabeformatierung kann über Git-Config angepasst werden — Pretty-Formate, Farbschemata und Pager-Verhalten sind alle einstellbar. Wenn etwas schiefgeht, ist der erste Diagnoseschritt üblicherweise, den Befehl erneut mit GIT_TRACE=1 in der Umgebung auszuführen, was die zugrunde liegenden Plumbing-Aufrufe offenlegt. Für ungewöhnliche Situationen öffnet die --help-Ausgabe (git request-pull --help) die vollständige Manpage mit Details zu jeder Option, einschließlich solcher, die in alltäglichen Workflows selten verwendet werden, aber für Debugging oder Skripting im großen Maßstab essentiell sind.
Zu verstehen, wie git request-pull mit dem Rest von Gits Datenmodell interagiert — der Objektdatenbank, dem Index, Refs und dem Working Tree — zahlt sich aus. Jeder Befehl operiert auf einer Teilmenge dieser Stücke, und zu wissen, welche er berührt, hilft Ergebnisse vorherzusagen und sich von Fehlern zu erholen. Das Lesen der offiziellen Git-Dokumentation neben praktischer Übung in einem Wegwerf-Repository ist der schnellste Weg, die Nuancen zu verinnerlichen. Die meisten Produktionsprobleme mit Git rühren von einer von drei Ursachen: überraschendem Standardverhalten, partiellen Netzwerkoperationen oder dem Umschreiben bereits geteilter Historie. Ein funktionierendes mentales Modell der Nebenwirkungen von git request-pull hilft, alle drei zu vermeiden.
Häufige Optionen
| Option | Beschreibung |
|---|---|
-p | Bezieht den vollen Patch in die Ausgabe ein. |
Beispiele
git request-pull v1.0 https://github.com/me/proj.git my-feature
# Zusammenfassung mit der Bitte, my-feature von meinem Fork zu pullen
git request-pull origin/main https://example.com/me/proj.git HEAD
# Pull Request basierend auf dem, was vor Upstream main ist
git request-pull -p v2.0 [email protected]:proj.git release-2.1 | mail -s "Pull request" [email protected]
# Einen Pull Request mit vollem Patch mailen
Häufige Fehler
Den falschen Startpunkt anzugeben macht den Diff-Bereich sinnlos. Führen Sie zuerst git log aus, um den Bereich zu bestätigen. Die Remote-URL muss für den Maintainer zugänglich sein; private URLs erzeugen nutzlose Anfragen.
Verwandte Befehle
git format-patch, git send-email, git tag, git log