Português (Brasil) ▾ Topics ▾ Latest version ▾ git-am last updated in 2.52.0

NOME

git-am - Aplica uma série de patches vindas de um mailbox (caixa de correio unix)

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]).

--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ção am.keepcr pode ser usada para especificar o comportamento padrão. A opção --no-keep-cr é útil para sobrepor os valores em am.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:

drop

The e-mail message will be skipped.

keep

An empty commit will be created, with the contents of the e-mail message as its log.

stop

The command will fail, stopping in the middle of the current am session. This is the default behavior.

-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ção am.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 em am.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ção i18n.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, consulte am.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 o rerere fez e detectar possíveis erros de mesclagem, antes de fazer o commit resultante no índice com um comando git 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, and error-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 e hg.

-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.

Warning
The 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ção commit.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. Se raw 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:

  1. pule o patch atual reexecutando o comando com a opção --skip.

  2. 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 pt_BR/config/am.adoc

See original version for this content.

GIT

Parte do conjunto git[1]