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ção | 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 |
Exemplos
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
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