Inicio·Comandos de terminal

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ónSignificado
-<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

Ejemplos

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

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