Início·Comandos de terminal

git apply

git

Uso

git apply [--check|-3] <patch>

Aplica um arquivo diff na sua árvore de trabalho; não cria commit nem lê o autor do patch, então patches recebidos por e-mail são caso para o am.

Opções comuns

OpçãoSignificado
--checkreport whether it would apply, change nothing
-3fall back to a three-way merge and leave conflict markers
--indexapply to the working tree and stage it
--cachedapply to the index only
-Rapply in reverse, undoing the patch
-p<n>strip n leading path components
--statshow what the patch touches

Exemplos

git apply --check fix.patch

tells you if it fits before you try

git apply -3 fix.patch

applies it and leaves conflicts to resolve by hand

git apply -R fix.patch

takes an applied patch back out

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 apply faz?

Aplica um arquivo diff na sua árvore de trabalho; não cria commit nem lê o autor do patch, então patches recebidos por e-mail são caso para o am.

Q. Como se digita?

git apply [--check|-3] <patch> — 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-apply