[GIT] Revert - Aula 16
Revert
O git revert
é um comando do Git usado para desfazer uma alteração específica em um Commit, gerando um novo Commit que anula os efeitos do anterior.
Quando usamos git revert
, o Git cria um novo Commit que reverte as mudanças introduzidas por um Commit anterior. Isso é útil quando você quer corrigir erros sem reescrever o histórico.
Obs: O Commit que sofre o Revert não é apagado nem alterado, ele continua existindo no histórico do Git.
Como fazer um Revert
Para fazer um Revert, basta:
git revert Commit-Hash
Revert vs Reset
Revert
-
Cria um novo Commit que desfaz as mudanças de um Commit anterior.
-
Mantém todo o histórico visível, inclusive o Commit que foi revertido.
-
Seguro em repositórios compartilhados (não afeta o histórico dos colaboradores).
Reset
-
Altera o histórico (dependendo da Flag usada).
-
Perigoso em repositórios compartilhados (reescreve o histórico).
Exemplo
Temos o seguinte histórico de Commits:
A — B — C — D (HEAD)
Vamos imaginar que o Commit C tem um problema, e vamos corrigi-lo usando o Revert, usamos:
git revert C
O que resultará em:
A — B — C — D — E (HEAD)
Observamos que o Commit C permanece no histórico com suas alterações.
O Git Revert vai gerar o Commit E, que é o oposto das alterações de C, cancelando todas as mudanças realizadas nesse Commit.