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
| Option | Bedeutung |
|---|---|
| -<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 |
| --stdout | one mbox stream on standard output |
| --cover-letter | add a 0000 summary mail |
| -v <n> | mark the series as v<n> of a re-roll |
| -s | add Signed-off-by |
Beispiele
git format-patch -3writes 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.patchone 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