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.46.1 → 2.47.1 no changes
- 2.46.0 07/29/24
- 2.45.1 → 2.45.2 no changes
- 2.45.0 04/29/24
- 2.43.1 → 2.44.2 no changes
- 2.43.0 11/20/23
- 2.42.2 → 2.42.3 no changes
- 2.42.1 11/02/23
- 2.41.1 → 2.42.0 no changes
- 2.41.0 06/01/23
- 2.40.1 → 2.40.3 no changes
- 2.40.0 03/12/23
- 2.38.1 → 2.39.5 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
- 2.25.1 → 2.25.5 no changes
- 2.25.0 01/13/20
- 2.22.1 → 2.24.4 no changes
- 2.22.0 06/07/19
- 2.17.1 → 2.21.4 no changes
- 2.17.0 04/02/18
- 2.11.4 → 2.16.6 no changes
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.8.6 no changes
- 2.7.6 07/30/17
- 2.6.7 05/05/17
- 2.4.12 → 2.5.6 no changes
- 2.3.10 09/28/15
- 2.2.3 no changes
- 2.1.4 no changes
- 2.0.5 12/17/14
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
-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
, 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.keepcr
pode 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
-m
para 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.messageid
pode 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
-u
para 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.commitEncoding
pode 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-utf8
para sobrepor isso. - --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
-
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 orerere
fez e detectar possíveis erros de mesclagem, antes de fazer o commit resultante no índice com um comandogit add
separado.
- --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
--whitespace
option 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-series
ehg
. - -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-verify
ou-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.
- --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.gpgSign
e 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
--continue
ou--skip
para 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
git am
para o estado anterior àgit am
. - --quit
-
Anule a operação de correção, porém mantenha o
HEAD
e 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
git am
foi interrompido devido a conflitos. Seraw
for 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
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
GIT
Parte do conjunto git[1]