Início·Comandos de terminal

git format-patch

git

Uso

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

Escreve um arquivo .patch em formato de e-mail por commit; format-patch main quer dizer os commits depois de main, não o próprio main.

Opções comuns

OpçãoSignificado
-<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

Exemplos

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

O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

Q. O que git format-patch faz?

Escreve um arquivo .patch em formato de e-mail por commit; format-patch main quer dizer os commits depois de main, não o próprio main.

Q. Como se digita?

git format-patch [-<n>|<since>] [-o <dir>] — os colchetes marcam o que você pode omitir.

Q. Quantas opções vale a pena saber?

Aqui estão 7; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-format-patch