Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.52.0
2025-11-17
- 2.50.1 → 2.51.2 no changes
-
2.50.0
2025-06-16
- 2.46.1 → 2.49.1 no changes
-
2.46.0
2024-07-29
- 2.45.1 → 2.45.4 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.42.2 → 2.42.4 no changes
-
2.42.1
2023-11-02
- 2.41.1 → 2.42.0 no changes
-
2.41.0
2023-06-01
- 2.40.1 → 2.40.4 no changes
-
2.40.0
2023-03-12
- 2.38.1 → 2.39.5 no changes
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 no changes
-
2.35.0
2022-01-24
- 2.33.2 → 2.34.8 no changes
-
2.33.1
2021-10-12
- 2.32.1 → 2.33.0 no changes
-
2.32.0
2021-06-06
- 2.31.1 → 2.31.8 no changes
-
2.31.0
2021-03-15
- 2.30.1 → 2.30.9 no changes
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.1 → 2.25.5 no changes
-
2.25.0
2020-01-13
- 2.22.1 → 2.24.4 no changes
-
2.22.0
2019-06-07
- 2.17.1 → 2.21.4 no changes
-
2.17.0
2018-04-02
- 2.11.4 → 2.16.6 no changes
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.4.12 → 2.5.6 no changes
-
2.3.10
2015-09-28
- 2.2.3 no changes
- 2.1.4 no changes
-
2.0.5
2014-12-17
RESUMO
git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--no-verify] [--[no-]3way] [--interactive] [--committer-date-is-author-date] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace=<action>] [-C<n>] [-p<n>] [--directory=<dir>] [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet] [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>] [--quoted-cr=<action>] [--empty=(stop|drop|keep)] [(<mbox> | <Maildir>)…] git am (--continue | --skip | --abort | --quit | --retry | --show-current-patch[=(diff|raw)] | --allow-empty)
DESCRIÇÃO
Divide as mensagens de correio num mailbox dentro das mensagens do registro log do commit, as informações de autoria, os patches e as aplica ao ramo atual. Você poderia pensar nisso como uma operação reversa do git-format-patch[1] executado num ramo com um histórico direto e sem mesclagens.
OPÇÕES
- (<mbox>|<Maildir>)…
-
A lista de arquivos da caixa de correio para leitura de patches. Se você não usar este argumento, o comando lerá a partir da entrada predefinida. Se você informar os diretórios, eles serão tratados como Maildirs.
- -s
- --signoff
-
Adicione um trailer
Signed-off-byà mensagem do commit, usando a sua identidade de committer. Consulte a opção signoff do comando git-commit[1] para obter mais informações. - -k
- --keep
-
Repasse o comando
-kpara o comando git mailinfo (consulte git-mailinfo[1]). - --keep-non-patch
-
Repasse o comando
-bpara o comando git mailinfo (consulte git-mailinfo[1]). - --keep-cr
- --no-keep-cr
-
Com
--keep-cr, invoque o comando git mailsplit (consulte git-mailsplit[1]) com a mesma opção, para evitar que ele remova o caractere "CR" no final das linhas. A variável de configuraçãoam.keepcrpode ser usada para especificar o comportamento padrão. A opção--no-keep-cré útil para sobrepor os valores emam.keepcr. - -c
- --scissors
-
Remova tudo no corpo antes de uma linha "scissors" (tesouras) (see git-mailinfo[1]). Pode ser ativada de fora predefinida ao utilizar a variável de configuração
mailinfo.scissors. - --no-scissors
-
Ignore linhas "scissors" (tesouras) (veja git-mailinfo[1]).
- --quoted-cr=<ação>
-
Esta opção será passada ao comando git mailinfo (consulte git-mailinfo[1]).
- --empty=(drop|keep|stop)
-
How to handle an e-mail message lacking a patch:
- -m
- --message-id
-
Use a opção
-mpara o comando git mailinfo (consulte git-mailinfo[1]), para que o cabeçalho "Message-ID" seja adicionado à mensagem do commit. A variável de configuraçãoam.messageidpode ser usada para especificar o comportamento padrão. - --no-message-id
-
Não adicione o cabeçalho Message-ID à mensagem de confirmação. A opção
--no-message-idé útil para sobrepor os valores emam.messageid. - -q
- --quiet
-
Fique em silêncio Exiba apenas as mensagens de erro.
- -u
- --utf8
-
Use a sinalização
-upara o git mailinfo (consulte git-mailinfo[1]). A mensagem proposta do registro log do commit, extraída do e-mail, é recodificada para UTF-8 (a variável de configuraçãoi18n.commitEncodingpode ser usada para definir a codificação preferida do projeto, caso ela não seja UTF-8).Isso era opcional nas versões anteriores do git, agora é a predefinição inicial. É possível usar
--no-utf8para sobrepor isso. - --no-utf8
-
Repasse o comando
-npara o comando git mailinfo (consulte git-mailinfo[1]). - -3
- --3way
- --no-3way
-
Quando o patch não for aplicado corretamente, use a mesclagem de 3 vias caso o patch registre a identidade das bolhas aos quais devem ser aplicadas disponibilizando-as localmente. A opção
--no-3waypode ser utilizada para substituir uma variável de configuração de três vias. Para mais informações, consulteam.threeWayem git-config[1]. -
--rerere-autoupdate -
--no-rerere-autoupdate -
Depois que o mecanismo rerere reutilizar uma resolução registrada no conflito atual para atualizar os arquivos na árvore de trabalho, permita que ele também atualize o índice com o resultado da resolução. A opção
--no-rerere-autoupdateé uma boa maneira de verificar novamente o que orererefez e detectar possíveis erros de mesclagem, antes de fazer o commit resultante no índice com um comandogitaddseparado.
- --ignore-space-change
- --ignore-whitespace
- --whitespace=<ação>
- -C<n>
- -p<n>
- --directory=<dir>
- --exclude=<caminho>
- --include=<caminho>
- --reject
-
Estas opções são usadas pelo comando git apply (consulte git-apply[1]) que aplica a correção.
Valid <action> for the
--whitespaceoption are:nowarn,warn,fix,error, anderror-all. - --patch-format
-
É predefinido que o comando tentará detectar o formato do patch automaticamente. Esta opção permite que o usuário ignore a detecção automática e determine como o formato do patch deve ser interpretados. Os formatos válidos são
mbox,mboxrd,stgit,stgit-seriesehg. - -i
- --interactive
-
Execute de forma interativa.
- -n
- --no-verify
-
É predefinido que os ganchos pre-applypatch e applypatch-msg sejam executados. Quando qualquer uma das opções
--no-verifyou-né usado, elas são ignoradas. Consulte também githooks[5]. - --committer-date-is-author-date
-
É predefinido que o comando registre a data da mensagem do e-mail como a data do autor que fez o commit e utilize a hora da criação como a data do commit. Permite que usuário minta sobre a data do commit utilizando o mesmo valor da data de quem fez o commit.
WarningThe history walking machinery assumes that commits have non-decreasing commit timestamps. You should consider if you really need to use this option. Then you should only use this option to override the committer date when applying commits on top of a base which commit is older (in terms of the commit date) than the oldest patch you are applying. - --ignore-date
-
É predefinido que o comando registre a data da mensagem do e-mail como a data do autor que fez o commit e utilize a hora da criação como a data do commit. Permite que usuário minta sobre a data do autor utilizando o mesmo valor da data de quem fez o commit.
- --skip
-
Ignora o patch atual. Isso só é relevante ao reiniciar um patch que foi abortado.
- -S[<keyid>]
- --gpg-sign[=<keyid>]
- --no-gpg-sign
-
Commits assinados com o GPG O argumento
keyidé opcional e a predefinição retorna para a identidade de quem fez o commit; caso seja utilizado, deve estar anexado a opção e sem espaço. A opção--no-gpg-signé útil para revogar a variável de configuraçãocommit.gpgSigne a anterior--gpg-sign. - --continue
- -r
- --resolved
-
Após uma falha do patch (tentativa de aplicar um patch conflitante por exemplo), o usuário o aplicou manualmente e o arquivo de índice armazena o resultado da aplicação. Faça um commit usando a autoria e o registro do commit extraídos da mensagem de e-mail, do arquivo do índice atual e continue.
- --resolvemsg=<msg>
-
Quando ocorrer uma falha no patch, <msg> será impresso na tela antes de encerrar. Isso substitui a mensagem predefinida que informa que você deve usar
--continueou--skippara lidar com a falha. Isso é apenas para uso interno entre o comando "git rebase" e o comando "git am". - --abort
-
Restaura o ramo original e aborta a operação de aplicação de correções (patches). Reverter o conteúdo dos arquivos envolvidos na operação
gitampara o estado anterior àgitam. - --quit
-
Anule a operação de correção, porém mantenha o
HEADe o índice inalterados. - --retry
-
Try to apply the last conflicting patch again. This is generally only useful for passing extra options to the retry attempt (e.g.,
--3way), since otherwise you’ll just see the same failure again. - --show-current-patch[=(diff|raw)]
-
Mostra a mensagem onde o comando
gitamfoi interrompido devido a conflitos. Serawfor usado, mostrará o conteúdo bruto da mensagem de e-mail; jádiff, mostrará apenas a diferença. A predefinição éraw. - --allow-empty
-
Após uma falha do patch numa mensagem de e-mail recebida sem um patch, crie um commit vazio com o conteúdo da mensagem de e-mail como sua mensagem de registro log.
DISCUSSÃO
O nome do autor do commit é retirado da linha "From: " da mensagem, e a data do autor do commit é obtida da linha "Date: " da mensagem. A linha "Subject: " é usada como o título do commit, após remover o prefixo comum "[PATCH <qualquer coisa>]". A linha "Subject: " deve descrever de forma concisa o assunto do commit numa linha de texto.
As linhas que iniciam com "From:" (De:), "Date:" (Data) e "Subject:" (Assunto:) no corpo, substituem os respectivos valores do nome e título do autor do commit que foram retirados dos cabeçalhos.
A mensagem de confirmação é formada pelo título retirado do "Subject: ", uma linha em branco e o corpo da mensagem até o início do patch. O excesso de espaço em branco no final de cada linha é automaticamente removido.
Espera-se que o patch esteja em linha, diretamente após a mensagem. Qualquer linha que tenha o formato:
-
três-traços e fim-de-linha, ou
-
uma linha que começa com "diff -" ou
-
uma linha que começa com "Index:"
é tomado como o início de um patch, a mensagem do registro log do commit é finalizado antes da primeira ocorrência de tal linha.
Ao invocar inicialmente o git am, você fornece a ele os nomes das caixas de correio QUE SERÃO processadas. Ao ver o primeiro patch que não É POSSÍVEL APLICAR, ele é interrompido no meio. Você pode se recuperar dessa situação de duas maneiras:
-
pule o patch atual reexecutando o comando com a opção
--skip. -
Resolve o conflito no diretório de trabalho e atualiza o arquivo do índice para colocá-lo Num estado que o patch deveria ter produzido. Em seguida, execute o comando com a opção
--continue.
O comando se recusa a processar as novas caixas de correio até que a operação atual seja concluída, portanto, caso decida recomeçar do zero, execute o comando git am --abort antes de executar o comando com os nomes das caixas de correio.
Antes que qualquer correção seja aplicada, ORIG_HEAD é definido como a ponta do ramo atual. Isso é útil se você tiver problemas com vários commits, como a execução do git am no ramo errado ou um erro nos commits que seja mais facilmente corrigido com a alteração da caixa de correio (por exemplo, erros nas linhas "From:").
GANCHOS
Esse comando pode executar os ganchos applypatch-msg, pre-applypatch e post-applypatch. Para mais informações consulte githooks[5].
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 See original version for this content. |
GIT
Parte do conjunto git[1]