Ich muss ein Skript schreiben, das Patches für eine Liste von SHA1-Commit-Nummern erstellt.
Ich habe versucht, git format-patch <the SHA1>
zu verwenden, aber das erzeugte einen Patch für jeden Commit seit diesem SHA1. Nachdem ein paar hundert Patches erzeugt worden waren, musste ich den Prozess beenden.
Gibt es eine Möglichkeit, einen Patch nur für einen bestimmten SHA1 zu erzeugen?
Versuchen Sie es:
git format-patch -1
oder
git format-patch -1 HEAD
Laut dem obigen Dokumentations-Link sagt das -1
-Flag git, wie viele Commits in den Patch aufgenommen werden sollen;
-
Bereiten Sie Patches von den obersten
Commits vor.
Wenden Sie den Patch mit dem Befehl an:
git am < file.patch
Zum Erzeugen der Patches aus den obersten
git format-patch -<n> <SHA1>
Die letzten 10 Patches von head in einer einzigen Patchdatei:
git format-patch -10 HEAD --stdout > 0001-last-10-commits.patch