Menu
Coddy logo textTech

Git: deshacer el último commit

Última actualización

Para deshacer el commit más reciente, decide qué debe pasar con sus cambios. Consérvalos en el área de preparación con git reset --soft HEAD~1, mantenlos sin preparar con un simple git reset HEAD~1 o descártalos con git reset --hard HEAD~1. Si el commit solo está ligeramente mal, git commit --amend lo corrige en el sitio. Si ya lo subiste, usa git revert en lugar de reescribir el historial. Para deshacer un commit más antiguo o varios a la vez, consulta la página de deshacer un commit en Git.

Prueba esto en el terminal playground: una shell real en tu navegador, sin nada que instalar.

Deshacer el último commit retrocede HEAD un paso - el modo decide si los cambios quedan preparados, sin preparar o se descartan.

Elige qué hacer con los cambios

GoalCommand
Deshacer el commit, conservar los cambios preparadosgit reset --soft HEAD~1
Deshacer el commit, conservar los cambios sin preparargit reset HEAD~1
Deshacer el commit, descartar los cambiosgit reset --hard HEAD~1
Corregir el último commit (mensaje o archivos)git commit --amend
Deshacer un commit que ya subistegit revert HEAD

Ejemplo práctico

Deshaz el último commit y vuelve a hacerlo con un mensaje mejor.

StepCommandResult
1git reset --soft HEAD~1Commit eliminado, los cambios siguen preparados
2git commit -m "clearer message"Vuelve a hacer commit de los mismos cambios

Preguntas frecuentes sobre deshacer el último commit en Git

¿Cómo deshago el último commit pero conservo los cambios?
Ejecuta git reset --soft HEAD~1. Esto elimina el último commit pero deja sus cambios preparados, así puedes volver a hacer commit de inmediato. Para que los cambios queden sin preparar en tu árbol de trabajo, usa git reset HEAD~1 (el modo por defecto).
¿Cómo deshago el último commit y elimino los cambios?
Ejecuta git reset --hard HEAD~1. Esto elimina el commit y descarta sus cambios de tu árbol de trabajo. Es destructivo: si podrías necesitar el trabajo, usa --soft en su lugar o recupéralo más tarde con git reflog.
¿Y si solo necesito corregir el mensaje del commit?
Usa git commit --amend. Reabre el último commit para que puedas editar su mensaje (y volver a preparar archivos si hace falta) sin crear un commit separado. Evita enmendar un commit que ya subiste, ya que reescribe el historial.
¿Cómo deshago el último commit después de subirlo?
Usa git revert HEAD. Revert crea un nuevo commit que revierte el anterior, dejando el historial intacto: la opción segura para ramas compartidas. Hacer reset de un commit ya subido obliga a todos los demás a reconciliar una rama reescrita.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar estos comandos en una shell real en tu navegador, sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre cómo deshacer cambios paso a paso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR