Corrija ou redefina os commits do git com precisão

Assumindo que o commit mais recente (HEAD no branch atual) não foi publicado com um push git, aqui estão algumas maneiras de consertar ou redefinir. Do menos ao mais destrutivo:

Alterar as alterações ao último commit:

git add -A
git commit
--amend

Desfaça o último commit, mas mantenha todos os arquivos alterados na área de teste:

git reset --soft HEAD~1

Desfaça o último commit, mas mantenha todas as alterações na árvore de trabalho sem etapas:

git reset HEAD~1

Desfaça o último commit e elimine as alterações apenas nos arquivos rastreados:

git reset --hard HEAD~1

Desfaça o último commit e destrua tudo, incluindo alterações não rastreadas:

git reset --hard HEAD~1
git clean
-df

NOTA: Usar esses comandos após a publicação do commit causará problemas para outros usuários. Além disso, nenhum desses comandos remove o histórico do commit. Isso significa que você ainda pode retornar ao commit original usando git reflog para encontrar o hash do commit e usando git reset –hard [hash] para restaurar o commit.

Se o último commit foi publicado, mas você ainda deseja revertê-lo, você pode desfazer o último commit criando um novo commit que reverte as mudanças:

git revert HEAD~1