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.43.0 11/20/23
- 2.42.1 11/02/23
- 2.42.0 no changes
- 2.41.0 06/01/23
- 2.40.1 no changes
- 2.40.0 03/12/23
- 2.38.1 → 2.39.3 no changes
- 2.38.0 10/02/22
- 2.35.1 → 2.37.7 no changes
- 2.35.0 01/24/22
- 2.33.2 → 2.34.8 no changes
- 2.33.1 10/12/21
- 2.32.1 → 2.33.0 no changes
- 2.32.0 06/06/21
- 2.31.1 → 2.31.8 no changes
- 2.31.0 03/15/21
- 2.30.1 → 2.30.9 no changes
- 2.30.0 12/27/20
- 2.27.1 → 2.29.3 no changes
- 2.27.0 06/01/20
- 2.26.1 → 2.26.3 no changes
- 2.26.0 03/22/20
RESUMO
git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--[no-]3way] [--interactive] [--committer-date-is-author-date] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace=<opção>] [-C<n>] [-p<n>] [--directory=<dir>] [--exclude=<caminho>] [--include=<caminho>] [--reject] [-q | --quiet] [--[no-]scissors] [-S[<keyid>]] [--patch-format=<formato>] [(<mbox> | <Maildir>)…] git am (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])
DESCRIÇÃO
Divide as mensagens de correio em um mailbox dentro das mensagens do registro log do commit, as informações de autoria, os patches e as aplica ao ramo atual.
OPÇÕES
- (<mbox>|<Maildir>)…
-
A lista dos arquivos da caixa de correio para leitura dos patches. Caso você não utilize este argumento, o comando lê na entrada padrão. Caso utilize os diretórios, eles serão tratados como caixas de correio.
- -s
- --signoff
-
Adicione uma linha
Assinada por:
à mensagem do commit utilizando a sua identidade. Para mais informações sobre a assinatura na saída da mensagem, consulte em git-commit[1]. - -k
- --keep
-
Repasse o comando
-k
para o comando git mailinfo (consulte git-mailinfo[1]). - --keep-non-patch
-
Repasse o comando
-b
para o comando git mailinfo (consulte git-mailinfo[1]). - --[no-]keep-cr
-
Com
--keep-cr
, chame o comando git mailsplit (consulte git-mailsplit[1]) com a mesma opção para evitar que ele retire caractereCR
do final das linhas. A variável de configuraçãoam.keepcr
pode ser utilizada para definir o comportamento predefinido. O comando--no-keep-cr
é útil para substituir a variávelam.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]).
- -m
- --message-id
-
Encaminha a opção
-m
para o comando git mailinfo (consulte git-mailinfo[1]), para que o ID do cabeçalho seja adicionado na mensagem do commit. A variável de configuraçãoam.messageid
pode ser utilizada para definir o comportamento predefinido. - --no-message-id
-
Não adicione o ID do cabeçalho da mensagem à mensagem do commit. A opção
--no-message-id
é útil para substituir a variávelam.messageid
. - -q
- --quiet
-
Fique em silêncio Exiba apenas as mensagens de erro.
- -u
- --utf8
-
Repasse o comando
-u
para o comando git mailinfo (consulte git-mailinfo[1]). A mensagem do registro log do proposto commit retirado da mensagem do e-mail é re-codificada com a codificaçãoUTF-8
(a variável de configuraçãoi18n.commitencoding
pode ser utilizada para definir a codificação preferida do projeto, caso não sejaUTF-8
).Isso era opcional nas versões anteriores do git, agora é a codificação predefinida. É possível utilizar a opção
--no-utf8
para se sobrepor a predefinição. - --no-utf8
-
Repasse o comando
-n
para 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-3way
pode ser utilizada para substituir uma variável de configuração de três vias. Para mais informações, consulteam.threeWay
em git-config[1]. - --rerere-autoupdate
- --no-rerere-autoupdate
-
Permita que o mecanismo "rerere" atualize o índice com o resultado da resolução automática de conflitos, caso seja possível.
- --ignore-space-change
- --ignore-whitespace
- --whitespace=<opção>
- -C<n>
- -p<n>
- --directory=<dir>
- --exclude=<caminho>
- --include=<caminho>
- --reject
-
Estas opções são repassadas ao comando git apply (conulte git-apply[1]) que aplica o patch.
- --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-series
ehg
. - -i
- --interactive
-
Execute de forma interativa.
- --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.
- --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
-
Ignore o patch atual. É justificado apenas quando for 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.gpgSign
e a anterior--gpg-sign
. - --continue
- -r
- --resolved
-
Após uma falha no patch (tentando aplicar um patch conflitante por exemplo), o usuário o aplicou manualmente e o arquivo do índice armazena o resultado. Faça um commit utilizando o registro de autori, o registro log do commit extraído da mensagem do e-mail, do arquivo do índice atual e continue.
- --resolvemsg=<msg>
-
Quando ocorrer uma falha no patch, a
<msg>
será exibida na tela antes de encerrar. Substitui a mensagem predefinida informando que você deve utilizar--continue
ou--skip
para lidar com a falha. Serve apenas para a utilização interna entre o comando git rebase e git am. - --abort
-
Restaure a ramificação original e aborte a operação de correção.
- --quit
-
Anule a operação de correção, porém mantenha o
HEAD
e o índice inalterados. - --show-current-patch[=(diff|raw)]
-
Exiba uma mensagem onde o
git am
tenha parado por causa dos conflitos. Casoraw
seja utilizado, exiba o conteúdo bruto da mensagem do e-mail; no caso dodiff
, exiba apenas a porção relacionada ao diff. A predefinição retorna para "raw" (bruto/puro).
DISCUSSÃO
Na mensagem, o nome do autor do commit é obtido da linha "From:" (De:) e a data do autor do commit é obtida da linha "Date:" (Data:). O título do commit vem da linha "Subject:" (Assunto:) após a exclusão do prefixo comum "[PATCH <alguma-coisa>]". A linha "Subject:" deve descrever de forma concisa do que se trata o commit em uma 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 do commit é formada pelo título obtido do "Subject:" (Assunto:), uma linha em branco e do corpo da mensagem até o início do patch. O espaço em excesso no final de cada linha é removido automaticamente.
Espera-se que o patch já esteja embutido após a mensagem. Qualquer linha que esteja no 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 comando git am
, indique os nomes das caixas do
correio que serão processadas. Ao ver que o primeiro patch que não possa
ser aplicado, o processo é interrompido imediatamente. É possível se
recuperar deste processo de duas maneiras:
-
pule o patch atual reexecutando o comando com a opção
--skip
. -
manualmente resolva o conflito no diretório de trabalho e atualize o arquivo do índice para colocá-lo na condição onde o patch deveria ter sido 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 de aplicar quaisquer correções, o ORIG_HEAD
é definido na ponta do
ramo atual. É útil caso tenha problemas com os vários commits como executar
o comando git am na ramificação errada ou caso haja um erro nos commits
que são mais facilmente corrigidos alterando a caixa de correio (erros nas
linhas "From:" (De:) por exemplo).
GANCHOS
Este comando pode executar os ganchos applypatch-msg
, pre-applypatch
e
post-applypatch
. Para mais informações consulte githooks[5].
GIT
Parte do conjunto git[1]