git reset
Cambios intermediate
Deshace cambios moviendo la rama actual a un commit específico
Uso
git reset [--soft | --mixed | --hard] <commit>
Ejemplos
-
git reset --soft HEAD~1
Deshace el último commit manteniendo los cambios en staging
basic -
git reset --mixed HEAD~1
Deshace el último commit manteniendo los cambios sin staging
basic -
git reset --hard HEAD~1
Elimina completamente el último commit y sus cambios
advanced -
git reset --hard origin/main
Restablece la rama local al estado exacto del remoto
advanced
Notas
- --soft: mantiene los cambios en staging
- --mixed: mantiene los cambios pero fuera de staging (default)
- --hard: elimina todos los cambios permanentemente
Advertencias
- ¡--hard elimina permanentemente los cambios! Úsalo con extrema precaución
- No uses reset en commits que ya han sido pusheados al remoto
Consejos
- Guarda el hash del commit antes de reset por si necesitas recuperarlo
- Usa git reflog para recuperar commits perdidos