Desfazer o último commit no Git

RMAG news

Para desfazer o último commit no Git, você pode usar um dos seguintes comandos, dependendo da situação:

1 – Desfazer o último commit, mantendo as mudanças no seu diretório de trabalho:

git reset –soft HEAD~1

Este comando desfaz o último commit, mas mantém as mudanças no seu diretório de trabalho. Ou seja, o conteúdo do commit desfazido ainda estará disponível para ser cometido novamente.

2 – Desfazer o último commit, descartando as mudanças:

git reset –hard HEAD~1

Este comando desfaz o último commit e também descarta todas as mudanças feitas nesse commit. As mudanças não estarão mais no seu diretório de trabalho.

3 – Desfazer o último commit sem mexer no seu diretório de trabalho ou no staging area (área de preparação):

git reset –mixed HEAD~1

Este comando desfaz o último commit, mantém as mudanças no diretório de trabalho, mas remove-as do staging area.

4 – Desfazer o último commit e criar um novo commit corrigido:

Se você quiser desfazer o último commit, fazer algumas modificações e depois criar um novo commit, você pode fazer isso em duas etapas:

Primeiro, desfazer o commit, mantendo as mudanças no seu diretório de trabalho:

git reset –soft HEAD~1

Faça as modificações necessárias e depois crie um novo commit:

git add .
git commit -m “Mensagem do novo commit”

5 – Reverter um commit específico:

Se você já tiver empurrado (push) o commit para um repositório remoto ou quiser desfazer um commit específico, você pode usar o comando revert:

git revert <commit_hash>

Isso cria um novo commit que desfaz as mudanças do commit especificado, sem alterar o histórico de commits.

Exemplo Prático

Para desfazer o último commit mantendo as mudanças no diretório de trabalho:

git reset –soft HEAD~1

Para desfazer o último commit e descartá-lo completamente:

git reset –hard HEAD~1

Escolha o método que melhor se adapta à sua necessidade, lembrando que o uso de –hard é destrutivo e não pode ser desfeito facilmente.