Después de git revertir, el tree de trabajo sigue siendo el mismo

Tengo una mala comisión presionada.
¿Cómo deshacer este compromiso y regresar a mi tree de trabajo (antes)?

Esto me llevará al tree de trabajo correcto:

git checkout HEAD~1 

Esto me llevará a la confirmación correcta, pero el tree de trabajo sigue siendo el mismo file innecesario:

 git revert HEAD~1 

¿Cómo revertir completamente a la confirmación anterior?

Quiero decir, no debería comprometerme con HEAD separado, ¿verdad? (en caso de que git checkout <commit> )

Según esta respuesta , git revert HEAD es lo que debes usar ; sin embargo, si la confirmación revertida agregó cualquier file o carpeta, se dejarán en su copy de trabajo como files sin seguimiento. Para deshacerse de ellos, ejecute git clean (como se explica en esta respuesta ).

ACTUALIZACIÓN : edité el command requerido para simplemente git revert HEAD después de probar esto localmente. No debería haber necesidad de ejecutar git clean . Como explica la respuesta vinculada, git revert comete una "fusión inversa" de la confirmación que se le pasó, por lo que si HEAD~1 es el resultado final que desea, debe pasar HEAD para git revert a git revert .

Si desea deshacer completamente la confirmación anterior y eliminar la confirmación incorrecta del historial.

git reset --hard HEAD~1