Introducción
Cuando trabajó en un repositorio de Git, a veces desea deshacer su última confirmación. Afortunadamente, Git tiene un puntero especial llamado HEAD que apunta a la confirmación más reciente en la rama local en la que está trabajando.
Para deshacer una confirmación, debe apuntar el HEAD al ID de confirmación anterior de la rama de trabajo actual.
Este tutorial le mostrará la forma de deshacer la última confirmación en Git.
Deshacer la última confirmación
Puede usar el siguiente comando para deshacer los cambios en Git:
$ git reset <commit-id>
Hay algunos argumentos adicionales que vienen junto con el comando git reset:
–soft:actualice HEAD a una confirmación dada mientras el directorio de trabajo actual y el índice de preparación no se modifican.
–mixed:actualice HEAD a una confirmación dada y cambie el índice de preparación a la confirmación especificada mientras el directorio de trabajo actual no cambia. Esta opción es la operación predeterminada cuando se usa el comando git reset sin ningún argumento.
–hard:actualice HEAD y cambie tanto el directorio de trabajo actual como el índice de preparación a la confirmación especificada. Al usar esta opción, ten en cuenta que todos los cambios locales que no hayas confirmado se perderán.
Reinicio suave
Para evitar perder los cambios que realizó en el directorio de trabajo actual y el índice de preparación al deshacer la última confirmación, ejecutemos el siguiente comando:
$ git reset --soft HEAD~1
HEAD~1 significa una confirmación antes de HEAD (la confirmación anterior de la última confirmación).
Antes de deshacer la última confirmación:
Después de deshacer la última confirmación usando la opción –soft:
Restablecimiento completo
Si no desea conservar los cambios que realizó en el directorio de trabajo actual y los archivos locales que no se han confirmado, ejecute el comando git reset con la opción –hard:
$ git reset --hard HEAD~1
Salida:
Conclusión
Ya pasó por los detalles del uso del comando git reset para deshacer la última confirmación en Git. Es realmente un comando poderoso cuando se trabaja con Git.
Si tiene alguna pregunta, deje su comentario en la sección a continuación.