Português (Brasil) ▾
Localized versions of git-apply manual
  1. English
  2. Français
  3. 日本語
  4. Português (Brasil)
  5. українська мова
  6. 简体中文
Topics ▾ Latest version ▾ git-apply last updated in 2.51.0
Changes in the git-apply manual
  1. 2.51.1 → 2.52.0 no changes
  2. 2.51.0 2025年08月18日
  3. 2.47.1 → 2.50.1 no changes
  4. 2.47.0 2024年10月06日
  5. 2.43.1 → 2.46.4 no changes
  6. 2.43.0 2023年11月20日
  7. 2.40.1 → 2.42.4 no changes
  8. 2.40.0 2023年03月12日
  9. 2.38.1 → 2.39.5 no changes
  10. 2.38.0 2022年10月02日
  11. 2.35.1 → 2.37.7 no changes
  12. 2.35.0 2022年01月24日
  13. 2.32.1 → 2.34.8 no changes
  14. 2.32.0 2021年06月06日
  15. 2.29.1 → 2.31.8 no changes
  16. 2.29.0 2020年10月19日
  17. 2.19.1 → 2.28.1 no changes
  18. 2.19.0 2018年09月10日
  19. 2.18.1 → 2.18.5 no changes
  20. 2.18.0 2018年06月21日
  21. 2.16.6 → 2.17.6 no changes
  22. 2.15.4 2019年12月06日
  23. 2.14.6 no changes
  24. 2.13.7 2018年05月22日
  25. 2.9.5 → 2.12.5 no changes
  26. 2.8.6 2017年07月30日
  27. 2.5.6 → 2.7.6 no changes
  28. 2.4.12 2017年05月05日
  29. 2.3.10 2015年09月28日
  30. 2.1.4 → 2.2.3 no changes
  31. 2.0.5 2014年12月17日

Check your version of git by running

git --version

NOME

git-apply - Aplica um patch aos arquivos e/ou ao índice

RESUMO

git apply [--stat] [--numstat] [--summary] [--check]
	 [--index | --intent-to-add] [--3way] [--ours | --theirs | --union]
	 [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
	 [--allow-binary-replacement | --binary] [--reject] [-z]
	 [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
	 [--ignore-space-change | --ignore-whitespace]
	 [--whitespace=(nowarn|warn|fix|error|error-all)]
	 [--exclude=<path>] [--include=<path>] [--directory=<root>]
	 [--verbose | --quiet] [--unsafe-paths] [--allow-empty] [<patch>…​]

DESCRIÇÃO

Lê o resultado do diff fornecido (ou seja, "um patch") e o aplica aos arquivos. Ao executar a partir de um subdiretório num repositório, os caminhos corrigidos fora do diretório são ignorados. Com a opção --index, o patch também é aplicado no índice, já com a opção --cached, o patch é apenas aplicado no índice. Sem estas opções, o comando aplica o patch apenas aos arquivos e não exige que eles estejam num repositório Git.

Este comando aplica a correção, mas não cria um commit. Use git-am[1] para criar commits a partir dos patches que foram gerados pelo comando git-format-patch[1] e/ou recebidos por e-mail.

OPÇÕES

<patch>…​

Os arquivos dos quais o patch deve ser lido. - pode ser usado para ler a partir da entrada predefinida.

--stat

Em vez de aplicar a correção, gere o diffstat. Desativa a opção "apply".

--numstat

Semelhante ao --stat, porém mostra a quantidade de linhas adicionadas e as linhas excluídas em notação decimal e o nome do caminho sem abreviação, tornando-o mais amigável ao computador. Para arquivos binários, produz dois - em vez de 0 0. Desativa a opção "apply".

--summary

Em vez de aplicar o patch, produza um resumo condensado das informações obtidas dos cabeçalhos estendidos do git diff, como criações, renomeações e as alterações do modo. Desativa a opção "apply".

--check

Em vez de aplicar o patch, verifique se o patch é aplicável à árvore de trabalho atual e/ou ao arquivo do índice e também detecta erros. Desativa a opção "apply".

--index

Aplica o patch ao índice e à árvore de trabalho (ou apenas verifica se ele se aplicaria corretamente em ambos caso --check esteja em uso). Observe que --index espera que as entradas do índice e as cópias da árvore de trabalho para os caminhos relevantes sejam idênticos (o seu conteúdo e seus metadados, como o modo arquivo, devem coincidir) e um erro será gerado caso não sejam mesmo que o patch seja aplicado corretamente no índice e na árvore de trabalho de forma isolada.

--cached

Aplica o patch apenas no índice sem afetar a árvore de trabalho. Caso a opção --check esteja em vigor, basta verificar se ele se aplicaria de forma limpa à entrada do índice.

-N
--intent-to-add

When applying the patch only to the working tree, mark new files to be added to the index later (see --intent-to-add option in git-add[1]). This option is ignored if --index or --cached are used, and has no effect outside a Git repository. Note that --index could be implied by other options such as --3way.

-3
--3way

Tente a mesclagem de três vias se o patch registrar a identidade das bolhas às quais ele deve ser aplicado e se tivermos essas bolhas disponíveis localmente, possivelmente deixando os rotuladores de conflito nos arquivos da árvore de trabalho para o usuário resolver. Essa opção implica o uso da opção --index, a menos que a opção --cached seja usada, porém, é incompatível com a opção --reject. Quando usado com a opção --cached, todos os conflitos são deixados em estágios mais altos no cache.

--ours
--theirs
--union

Instead of leaving conflicts in the file, resolve conflicts favouring our (or their or both) side of the lines. Requires --3way.

--build-fake-ancestor=<arquivo>

A saída mais recente do git diff tem informações de índice incorporadas para cada bolha para ajudar a identificar a versão original à qual o patch se aplica. Quando esta opção é usada e se as versões originais das bolhas estiverem disponíveis localmente, cria um índice temporário contendo estas bolhas.

Quando uma alteração do modo puro é encontrado (que não contém as informações do índice), as informações são lidas a partir do índice atual.

-R
--reverse

Aplique o patch ao contrário.

--reject

Para fins de padronização, é predefinido que o comando git apply reprove o patch inteiro e não toque na árvore de trabalho quando alguns dos blocos não se aplicarem. Essa opção faz com que ele aplique as partes da correção que são aplicáveis e deixe os blocos rejeitados nos arquivos *.rej correspondentes.

-z

Quando o comando --numstat for utilizado, não una os nomes dos caminhos, porém utilize um formato legível para a máquina e utilize caracteres NUL para a terminação.

Sem esta opção, os nomes do caminho com caracteres "incomuns" são citados como explicado na variável de configuração core.quotePath (veja git-config[1]).

-p<n>

Remova os <n> componentes do caminho principal (separados por barras) dos caminhos diff tradicionais. Com -p2, um patch contra` a/dir/file` será aplicado diretamente ao file por exemplo. A predefinição é 1.

-C<n>

Certifique-se de que pelo menos <n> linhas do contexto circundante correspondam antes e após cada alteração. Quando houver menos linhas de contexto ao redor, todas elas devem corresponder. É predefinido que nenhum contexto seja ignorado.

--unidiff-zero

É predefinido que o comando git apply aguarde que a correção que está sendo aplicada seja um diff unificado com pelo menos uma linha de contexto. Isso oferece boas medidas de segurança, mas falha ao aplicar um diff gerado com a opção --unified=0. Para contornar estas verificações use a opção --unidiff-zero.

Observe que pelas razões expostas acima, a utilização de patches sem contexto é desencorajado.

--apply

Se você usar qualquer uma das opções marcadas como "Turns off apply" acima, o comando git apply lerá e produzirá as informações solicitadas sem realmente aplicar a correção. Use esta opção após aquelas opções para também aplicar a correção.

--no-add

Ao aplicar uma correção, ignore as adições feitas pela correção. Isso pode ser usado para extrair a parte comum entre dois arquivos, executando primeiro o diff neles e aplicando o resultado com essa opção, que aplicaria a parte de exclusão, mas não a parte da adição.

--allow-binary-replacement
--binary

Historicamente, não permitimos a aplicação de correções binárias sem uma permissão explícita do usuário, e esta opção foi a maneira de fazer isso. Atualmente, sempre permitimos a aplicação de correções binárias, portanto, isso não funciona.

--exclude=<path-pattern>

Não aplique as alterações nos arquivos que coincidam com o padrão do caminho informado. Pode ser útil ao importar os conjuntos dos patches onde você queira que determinados arquivos ou diretórios sejam excluídos.

--include=<path-pattern>

Aplique as alterações nos arquivos que coincidam com padrão do caminho informado. Pode ser útil ao importar os conjuntos dos patches, onde você queira incluir certos arquivos ou diretórios.

Quando os padrões --exclude e --include são usados, eles são examinados na ordem em que aparecem na linha de comando, e a primeira correspondência determina se uma correção para cada caminho será usado. É predefinido que uma correção para um caminho que não corresponda a nenhum padrão de inclusão/exclusão será usado caso não haja um padrão de inclusão na linha de comando e será ignorado se houver um padrão de inclusão.

--ignore-space-change
--ignore-whitespace

Ao aplicar uma correção, ignore as alterações no espaço vazio nas linhas de contexto, caso seja necessário. As linhas de contexto preservarão seus espaços vazios e não sofrerão correções, independentemente do valor da opção --whitespace. No entanto, as novas linhas ainda continuarão sendo corrigidas.

--whitespace=<ação>

Ao aplicar uma correção, detecte uma linha nova ou alterada que tenha erros de espaços vazios. O que é considerado um erro de espaço vazio é controlado pela configuração core.whitespace. É predefinido que são considerados erros de espaço em branco os espaços vazios à direita (incluindo as linhas que consistem apenas de espaços vazios) e um caractere de espaço que é imediatamente seguido por um caractere de tabulação dentro do recuo inicial da linha.

É predefinido que o comando gere mensagens de aviso, porém, aplique a correção. Quando o comando git-apply é usado para gerar estatísticas e não para aplicar uma correção, o padrão é o nowarn.

Você pode utilizar valores diferentes valores de controle para <ação>:

  • nowarn desativa o aviso de espaço à direita.

  • warn envia avisos para alguns desses erros, mas aplica o patch como está (predefinido).

  • fix gera os avisos para alguns destes erros e aplica o patch após corrigí-los (o strip é um sinônimo — a ferramenta costumava considerar apenas os caracteres de espaço como erros e a correção envolvia em removê-los, porém os Gits mais modernos fazem mais que isso).

  • error gera os avisos para alguns destes erros e se recusa a aplicar o patch.

  • error-all é semelhante ao error, porém exibe todos os erros.

--inaccurate-eof

Em determinadas circunstâncias, algumas versões do diff não detectam corretamente uma nova linha que esteja ausente no final do arquivo. Como resultado, os patches criados por estes programas diff não registram as linhas que estejam incompletas de forma correta. Esta opção adiciona a compatibilidade para que seja possível aplicar tais correções contornando este problema.

-v
--verbose

Relate o progresso para o stderr. É predefinido que apenas seja exibida uma mensagem do patch que está sendo aplicado atualmente. Esta opção fará com que as informações adicionais sejam relatadas.

-q
--quiet

Suprime a saída stderr. As mensagens sobre o estado do patch e o progresso não serão impressas.

--recount

Não confie nas contagens da linha nos cabeçalhos, deduza-as inspecionando o patch (após editar o patch sem ajustar os cabeçalhos adequadamente por exemplo).

--directory=<root>

Anexe <root> (raiz) em todos os nomes de arquivos. Caso "-p" também seja utilizado, ele é aplicado antes de anexar a nova raiz.

Por exemplo, um patch que seja utilizado para a atualização de a/git-gui.sh para b/git-gui.sh, pode ser aplicado ao arquivo na árvore de trabalho modules/git-gui/git-gui.sh ao executar o comando git apply --directory=modules/git-gui.

--unsafe-paths

É predefinido que um patch que tenha efeito fora da área de trabalho (uma árvore de trabalho controlada pelo Git ou um diretório de trabalho atual quando o "git apply" é utilizado como uma reposição do patch GNU) seja rejeitado como um erro (ou um dano).

Quando o comando git apply é usado como um "patch GNU melhor", o usuário pode usar a opção --unsafe-paths para substituir essa verificação de segurança. Essa opção não tem efeito quando a opção --index ou a opção --cached estiver em uso.

--allow-empty

Não retorne um erro para as correções que não contenham um diff. Isso inclui correções vazias e correções que tenham apenas um commit com texto.

CONFIGURAÇÃO

Tudo abaixo desta linha nesta seção, está seletivamente incluído na documentação git-config[1]. O conteúdo é o mesmo que é encontrado ali:

Warning

Missing pt_BR/config/apply.adoc

See original version for this content.

SUBMÓDULOS

Caso um patch contenha alguma alteração nos submódulos, o comando git apply tratará estas alterações da seguinte maneira.

Se a opção --index for usada (explícita ou implicitamente), os commits do submódulo deverão corresponder exatamente ao índice para que a correção seja aplicada. Se algum dos submódulos forem "check-out", esses "check-outs" serão completamente ignorados, ou seja, não é necessário que estejam atualizados ou limpos e não serão atualizados.

Caso o --index não seja utilizado, os commit dos submódulos no patch serão ignorados e somente a ausência ou a presença do subdiretório coincidente será verificado e (se possível) atualizado.

VEJA TAMBÉM

GIT

Parte do conjunto git[1]

AltStyle によって変換されたページ (->オリジナル) /