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
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"
Agora exiba as informações detalhadas deste commit usando o comando git show com HEAD:
git show HEAD
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
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.
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
Basicamente, como esperado, um novo commit foi criado com as alterações inversas.
Use as setas para rolar para cima ou para baixo e pressione a tecla q para sair.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo