git format-patch
git
Uso
git format-patch [-<n>|<since>] [-o <dir>]Escribe un archivo .patch con formato de correo por cada commit; format-patch main significa los commits posteriores a main, no main mismo.
Opciones habituales
| Opción | Significado |
|---|---|
| -<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 |
Ejemplos
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
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git format-patch?
Escribe un archivo .patch con formato de correo por cada commit; format-patch main significa los commits posteriores a main, no main mismo.
Q. ¿Cómo se escribe?
git format-patch [-<n>|<since>] [-o <dir>] — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 7; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-format-patch