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:
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:
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):
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:
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:
Para desfazer o último commit e descartá-lo completamente:
Escolha o método que melhor se adapta à sua necessidade, lembrando que o uso de –hard é destrutivo e não pode ser desfeito facilmente.