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