Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Revertendo Commits | Desfazendo Alterações
Git Essentials

Revertendo Commits

Deslize para mostrar o menu

No amplo cenário do controle de versão com o Git, uma situação comum é a necessidade de desfazer alterações introduzidas por um commit específico. Isso pode ocorrer por diversos motivos, como a descoberta de um bug, perceber que uma funcionalidade não está pronta para produção ou simplesmente querer adotar uma abordagem diferente.

Felizmente, o Git oferece o comando git revert para criar um novo commit que desfaz as alterações introduzidas por um commit específico, realizando o inverso das mudanças daquele commit.

Revertendo o Último Commit

Para reverter o último commit, utilize o seguinte comando:

git revert HEAD
Note
Nota

HEAD é um ponteiro para o commit mais recente no branch atual.

Como há apenas um branch, o HEAD aponta para o commit mais recente. Este comando cria um novo commit que reverte as alterações do commit anterior. O Git abre o editor de texto padrão para permitir a edição da mensagem do commit, se necessário. Salve e feche o editor para concluir a reversão.

Exemplo de fluxo de trabalho

Primeiro, adicione uma nova linha ao arquivo recipe.txt com o próximo passo e faça o commit diretamente da alteração, pulando a área de stage:

echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Modificação e commit direto

Agora exiba as informações detalhadas deste commit usando o comando git show com HEAD:

git show HEAD
O commit mais recente

Ops, todas as linhas anteriores foram excluídas porque o operador de saída incorreto foi usado — > em vez de >>, o que sobrescreveu o arquivo. Sem problemas; utilize o comando git revert para desfazer essas alterações no commit mais recente:

git revert HEAD
Revertendo o commit mais recente

Como você pode ver, o editor de texto padrão é aberto (Vim neste caso) com uma mensagem de commit padrão. Por enquanto, deixe como está, mas em projetos reais, é recomendado incluir o motivo do rollback, por exemplo:

Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.    
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
Note
Nota

Para salvar as alterações e sair do Vim, pressione a tecla Escape e duas letras Z maiúsculas.

Por fim, visualize as alterações nos dois commits mais recentes:

git log -p -2
Dois commits mais recentes

Basicamente, como esperado, um novo commit foi criado com as alterações inversas.

Note
Nota

Use as setas para rolar para cima ou para baixo e pressione a tecla q para sair.

question mark

O que o comando git revert HEAD faz no Git?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 3. Capítulo 4
some-alt