Ich suche nach dem magischen Befehl, einen Patch aus dem letzten Commit zu erstellen.
Mein Workflow sieht manchmal so aus
vi some.txt
git add some.txt
git commit -m "some change"
und jetzt will ich nur noch schreiben
git create-patch-from-last-commit-to-file SOME-PATCH0001.patch
aber was soll ich da setzen anstatt create-patch-from-last-commit-to-file
?
Antworten:
Allgemein,
(Überprüfen Sie die Hilfe für die vielen Optionen), obwohl es wirklich zum Versenden ist. Für ein einziges Commit nur
gibt Ihnen einen brauchbaren Patch.
quelle
git diff > change.patch
. Sie können auch einen Revisionsbereich einschließen und Patches für nicht festgeschriebene Änderungen erstellen. Der große Unterschied besteht jedoch darin, dass keine Unterschiede in Binärdateien enthalten sind . Siehe die Antwort auf Was ist der Unterschied zwischen 'git format-patch' und 'git diff'? für mehr Details.git format-patch -1
odergit format-patch -n HEAD^
sollte funktionieren.Aus der @ Unseless-Antwort können Sie auch das allgemeine Formular ohne Parameter für das letzte Commit verwenden und es in eine Datei mit folgenden Informationen einfügen:
Oder für Windows-Benutzer sauberer zu sein, wenn Carets durch Verdoppeln entkommen müssen:
quelle
git format-patch HEAD~1
. Ich denke, das ist unter Windows weniger verwirrend.Auf andere Weise können Sie Folgendes verwenden, wenn Sie die Commit-ID dieses bestimmten Commits haben:
quelle
Sie benötigen die
-p
Option zum Git-Protokoll:quelle
Erledigt den Job für mich.
quelle