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.44.1 → 2.47.0 no changes
- 2.44.0 02/23/24
- 2.43.1 → 2.43.5 no changes
- 2.43.0 11/20/23
- 2.39.1 → 2.42.3 no changes
- 2.39.0 12/12/22
- 2.38.1 → 2.38.5 no changes
- 2.38.0 10/02/22
- 2.37.1 → 2.37.7 no changes
- 2.37.0 06/27/22
- 2.30.1 → 2.36.6 no changes
- 2.30.0 12/27/20
- 2.27.1 → 2.29.3 no changes
- 2.27.0 06/01/20
- 2.23.1 → 2.26.3 no changes
- 2.23.0 08/16/19
- 2.22.1 → 2.22.5 no changes
- 2.22.0 06/07/19
- 2.10.5 → 2.21.4 no changes
- 2.9.5 07/30/17
- 2.8.6 no changes
- 2.7.6 07/30/17
- 2.6.7 05/05/17
- 2.1.4 → 2.5.6 no changes
- 2.0.5 12/17/14
RESUMO
git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>… git revert (--continue | --skip | --abort | --quit)
DESCRIÇÃO
Com um ou mais commits existentes, reverta as alterações introduzidas pelas correções relacionadas e registre alguns novos commits que as registrem. Isso exige que a sua árvore de trabalho esteja limpa (sem alterações do commit HEAD
).
Observação: o comando git revert
é usado para registrar alguns novos commits para reverter o efeito de alguns commits anteriores (geralmente apenas um defeituoso). Se você quiser descartar todas as alterações dos commits não realizados em seu diretório de trabalho, consulte git-reset[1], particularmente a opção --hard
. Se você quiser extrair arquivos específicos como estavam em outro commit, consulte git-restore[1], especificamente a opção --source
. Tome cuidado com estas alternativas, pois ambas descartarão as alterações não confirmadas em seu diretório de trabalho.
Para as diferenças entre os três comandos consulte "Redefinir, restaurar e reverter" em git[1].
OPÇÕES
- <commit>…
-
Commits que serão revertidos. Para obter uma lista mais completa de maneiras de soletrar os nomes dos commits, consulte gitrevisions[7]. Conjuntos de commits também podem ser informados, mas por predefinição, nenhuma passagem é feita, consulte git-rev-list[1] e a sua opção
--no-walk
. - -e
- --edit
-
Com esta opção, o comando git revert permitirá a edição da mensagem do commit antes de fazer a reversão do commit. Esta é a predefinição caso execute o comando num terminal.
- -m parent-number
- --mainline parent-number
-
Normalmente, não é possível reverter uma mesclagem porque você não sabe qual lado da mesclagem deve ser considerado como principal. Essa opção especifica o número principal (a partir de 1) da linha principal e permite que revert reverta a alteração em relação ao commit principal informado.
A reversão de uma mesclagem de um commit declara que você nunca desejará as alterações na árvore trazidas pela mesclagem. Como resultado, as mesclagens posteriores só trarão alterações na árvore introduzidas por commits que não são ancestrais da mesclagem revertida anteriormente. Isso pode ou não ser o que você deseja.
Consulte o Como fazer um revert-a-faulty-merge para mais detalhes.
- --no-edit
-
Com esta opção, o comando git revert não iniciará o editor das mensagens do commit.
- --cleanup=<modo>
-
Essa opção define como a mensagem de commit sera limpa antes de ser encaminhada para o maquinário de commit. Para mais detalhes consulte git-commit[1]. Em particular, caso o valor <mode> tenha um valor de tesoura
scissors
, a tesoura será anexada aMERGE_MSG
antes de ser repassada no caso de um conflito. - -n
- --no-commit
-
Normalmente, o comando cria automaticamente alguns commits com mensagens do registro do commit informando quais os commits foram revertidos. Esta opção aplica as alterações necessárias para reverter os commits indicados em sua árvore de trabalho e no índice, mas não faz os commits. Além disso, quando esta opção é usada, seu índice não precisa corresponder ao commit do
HEAD
. A reversão é feita em relação ao estado inicial de seu índice.Isso é útil durante ao reverter o efeito de um ou mais commits no seu índice, numa linha.
- -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
. - -s
- --signoff
-
Adicione uma linha
Signed-off-by
no final da mensagem de confirmação. Consulte a opção signoff do comando git-commit[1] para obter mais informações. - --strategy=<estratégia>
-
Use a estratégia de mesclagem fornecida. Deve ser utilizada apenas uma vez. Consulte a seção ESTRATÉGIAS DE MESCLAGEM do comando git-merge[1] for details.
- -X<opção>
- --strategy-option=<opção>
-
Encaminhe a opção específica da estratégia de mesclagem para a estratégia de mesclagem. Para mais detalhes consulte git-merge[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.
- --reference
-
Em vez de iniciar o corpo da mensagem de registro com "This reverts <full-object-name-of-the-commit-being-reverted>.", faça referência ao commit usando o formato "--pretty=reference" (cf. git-log[1]). A variável de configuração
revert.reference
pode ser usada para ativar esta opção automaticamente.
SEQUENCER SUBCOMANDOS
- --continue
-
Continue a operação em andamento usando as informações em
.git/sequencer
. Pode ser usado para continuar após uma falha da resolução de conflitos num "cherry-pick" ou numa reversão. - --skip
-
Ignore o commit atual e continue com o restante da sequência.
- --quit
-
Esqueça a operação atual em andamento. Pode ser usado para limpar a condição de falha do sequenciador após um "cherry-pick" ou uma reversão.
- --abort
-
Cancele a operação e retorne a condição pré-sequência.
EXEMPLOS
-
git revert HEAD~3
-
Reverta as alterações informadas pelo quarto último commit no HEAD e crie um novo commit com as alterações revertidas.
-
git revert -n master~5..master~2
-
Reverta as alterações feitas pelos commits do quinto último commit no master (incluso) para o terceiro último commit no master (incluso), porém não crie nenhum commit com as alterações revertidas. A reversão altera apenas a árvore de trabalho e o índice.
DISCUSSÃO
Embora o git crie automaticamente uma mensagem básica do commit, é altamente recomendável explicar por que o commit original está sendo revertido. Além disso, reverter repetidamente as reversões resultará em linhas de assunto cada vez mais complicadas, por exemplo, Reaplicar "Reaplicar "<assunto-original>"". Considere a possibilidade de reformulá-los para que sejam mais curtos e exclusivos.
CONFIGURAÇÃO
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
GIT
Parte do conjunto git[1]