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

Comandos Relacionados