Start·Terminal-Befehle

git format-patch

git

Aufruf

git format-patch [-<n>|<since>] [-o <dir>]

Schreibt pro Commit eine mailförmige .patch-Datei; format-patch main meint die Commits nach main, nicht main selbst.

Häufige Optionen

OptionBedeutung
-<n>the last n commits, e.g. -3
<since>commits after that one, e.g. origin/main
-o <dir>write the files into a directory
--stdoutone mbox stream on standard output
--cover-letteradd a 0000 summary mail
-v <n>mark the series as v<n> of a re-roll
-sadd Signed-off-by

Beispiele

git format-patch -3

writes 0001- to 0003- patch files for the last three commits

git format-patch origin/main --cover-letter -o outbox/

a mailable series of everything not yet upstream

git format-patch -1 --stdout > fix.patch

one commit as a single patch file

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht git format-patch?

Schreibt pro Commit eine mailförmige .patch-Datei; format-patch main meint die Commits nach main, nicht main selbst.

Q. Wie gibt man ihn ein?

git format-patch [-<n>|<since>] [-o <dir>] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 7; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-format-patch