Git: Desfazer git reset

Se você fez algo como

git reset HEAD~1

algum dia você deseja desfazer isso. Não há necessidade de chorar, o Git mantém um registro de todas as atualizações de ref.

Vê-los:

git reflog

A saída pode ser algo assim

39ab761 HEAD@{0}: reset: moving to HEAD~1
b55c098 HEAD@
{1}: Change skirt length ...

Com

git reset HEAD@{1}

desfazemos nosso erro e estamos de volta ao commit antes de redefinir.

Também é possível:

git reset b55c098