Erzeugen eines Git-Patches für eine bestimmte Übertragung

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
Kommentare (12)

Zum Erzeugen der Patches aus den obersten Commits aus einem bestimmten sha1-Hash:

git format-patch - 

Die letzten 10 Patches von head in einer einzigen Patchdatei:

git format-patch -10 HEAD --stdout > 0001-last-10-commits.patch
Kommentare (4)

Sagen wir, Sie haben die Commit-ID 2 nach Commit 1, dann könnten Sie das Programm ausführen:

git diff 2 1 > mypatch.diff

wobei 2 und 1 SHA-Hashes sind.

Kommentare (6)