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.
Top comments (0)