# git reset > Deshace commits o desmarca cambios mediante el reseteo del actual HEAD de Git al estado especificado. > Si se pasa una ruta, funciona como "desmarcar", si se pasa el hash de un commit o una rama, funciona como "deshacer" el commit. > Más información: . - Desmarcar todo: `git reset` - Desmarcar un archivo o archivos específicos: `git reset {{ruta/al/archivo_o_archivos}}` - Interactivamente desmarca partes de un archivo: `git reset --patch {{ruta/al/archivo}}` - Deshace el último commit, manteniendo sus cambios,y cualquier otro cambios sin commit,en el sistema de archivo: `git reset HEAD~` - Deshace los últimos dos commits al añadir sus cambios al índice (por ej., marcado para commit): `git reset --soft HEAD~2` - Descartar cualquier cambio sin commit, marcado o no (se puede `git checkout` solo para los cambios sin marcar): `git reset --hard` - Resetea el repositorio a un commit específico y descarta a partir de este los cambios con y sin commit, y los marcados: `git reset --hard {{commit}}`