Erforderliche vorläufige Einrichtungsinformationen (meine eigenen Fragen und Antworten): Wie zu konfigurieren und zu verwenden git send-email um mit Google Mail zu arbeiten, um Patches per E-Mail an Entwickler zu senden
– Gabriel Staples
3. Juli 2021 um 18:47 Uhr
Nicht zu gebrauchen
Im Algemeinen,
git format-patch -n HEAD^
(Überprüfen Sie die Hilfe für die vielen Optionen), obwohl es wirklich zum Versenden ist. Nur für einen einzigen Commit
git show HEAD > some-patch0001.patch
gibt Ihnen einen brauchbaren Patch.
Seien Sie vorsichtig mit “git show HEAD > some-patch0001.patch”, wenn es im farbigen Terminal aufgerufen wird, kopiert es auch farbige Escape-Sequenzen in die Datei.
– rach
21. April 2013 um 10:34 Uhr
Sie können auch verwenden git diff > change.patch. Sie können auch einen Revisionsbereich einschließen und damit Patches für nicht festgeschriebene Änderungen erstellen. Der große Unterschied besteht jedoch darin Unterschiede in Binärdateien werden nicht berücksichtigt. Siehe die Antwort auf Was ist der Unterschied zwischen „git format-patch“ und „git diff“? für mehr Details.
– Rangi Keen
27. Dezember 2013 um 15:34 Uhr
@hrach nicht unter Linux tut es das nicht
– Robin Grün
22. Februar 2014 um 12:09 Uhr
Nein, denn das steht nicht in der ersten Zeile. Entweder git format-patch -1 oder git format-patch -n HEAD^ sollte arbeiten.
– Nicht zu gebrauchen
14. Januar 2016 um 14:37 Uhr
Danke, ich hatte nicht verstanden, dass es buchstäblich der Buchstabe ‘n’ war, ich dachte, es wäre ein Platzhalter (format-patch hat sowohl die Optionen ‘-n’ als auch ‘-‘).
– Etienne
18. Januar 2016 um 21:51 Uhr
a1an
Ausgehend von @Useless answer können Sie auch das allgemeine Formular ohne Parameter für den letzten Commit verwenden und es in eine Datei einfügen mit:
git format-patch HEAD^ --stdout > patchfile.patch
Oder sauberer für Windows-Benutzer, wenn Carets durch Verdoppelung umgangen werden müssen:
Hat bei mir funktioniert – danke. Wenn Sie zufällig Windows und Git verwenden, müssen Sie der Karotte entkommen (ich weiß, abscheulich): “git format-patch HEAD^^ –stdout > patchfile.patch”
– Steve Midgley
27. August 2013 um 17:59 Uhr
Um das Windows-Problem zu vermeiden, dass dieses Caret maskiert werden muss (was es wie einen anderen gültigen Git-Befehl aussehen lässt), können Sie die Alternative von verwenden git format-patch HEAD~1. Ich denke, das ist unter Windows weniger verwirrend.
– Michael Burr
14. Januar 2016 um 22:53 Uhr
Sie können auch -o flag anstelle von –stdout verwenden. git format-patch HEAD^ -o ./patchfile.patch
– OMKAR AGRAWAL
13. April um 14:28 Uhr
Auf andere Weise, wenn Sie die Commit-ID dieses bestimmten Commits haben, können Sie Folgendes verwenden:
git format-patch -1 {commit-id}
git format-patch -1
Macht den Job für mich.
Du brauchst die -p Option zum Git-Protokoll:
git log -1 -p --pretty='%b'
Verwenden Sie diese Option, wenn Ihnen die E-Mail-Von/Datum/Betreff-Zeilen am Anfang der Datei egal sind.
–Ryan H.
16. August 2017 um 23:47 Uhr
Abdullah Imran
Zum Beispiel, wenn Sie Code in den Branch „branch_name“ auf Github pushen. Jeder Commit auf diesem Zweig hat eine separate URL. Klicken Sie auf Letztes Commit.
Kopieren Sie dann den gesamten Inhalt, der in Schritt 1 kommt, und fügen Sie ihn in eine separate lokale Datei ein und speichern Sie ihn mit der Erweiterung .patch.
Patch ist gebrauchsfertig.
Verwenden Sie diese Option, wenn Ihnen die E-Mail-Von/Datum/Betreff-Zeilen am Anfang der Datei egal sind.
–Ryan H.
16. August 2017 um 23:47 Uhr
10168300cookie-checkWie erstelle ich einfach einen Patch aus meinem letzten Git-Commit?yes
mögliches Duplikat von Generate a git patch for a specific commit
– manojlds
22. Februar 2012 um 17:19 Uhr
Eine gute Quelle: ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git
– Adam Ocsvari
4. September 2015 um 10:10 Uhr
Erforderliche vorläufige Einrichtungsinformationen (meine eigenen Fragen und Antworten): Wie zu konfigurieren und zu verwenden
git send-email
um mit Google Mail zu arbeiten, um Patches per E-Mail an Entwickler zu senden– Gabriel Staples
3. Juli 2021 um 18:47 Uhr