Introducción
Git es una popular aplicación de seguimiento de proyectos. A medida que un proyecto avanza a través de diferentes revisiones, esas revisiones se publican como un commit . Una confirmación representa un punto de control, donde se guarda una copia del proyecto en un punto específico.
Esta guía le muestra cómo deshacer la última confirmación en git.

Requisitos previos
- Un proyecto existente en Git
- Acceso a una ventana de terminal/línea de comando
Cómo revertir la confirmación
Git ofrece muchas funciones para administrar su proyecto desde diferentes confirmaciones históricas. Puede ver y revertir una confirmación anterior, ya sea publicada o no publicada.
Siga leyendo para saber cómo identificar y revertir una confirmación publicada. Además, si desea obtener más información sobre Git, consulte nuestro artículo sobre cómo funciona Git.
Identificación de la confirmación
Un hash es un código alfanumérico que identifica cada confirmación. Ingrese el siguiente comando para mostrar un hash de confirmación:
git log
El hash es necesario para mostrar o administrar una confirmación específica.

Para analizar el estado de su proyecto desde una confirmación anterior, use el comando de pago:
git checkout [hash]
Al usar un hash con un comando de Git, no es necesario escribirlo en su totalidad. Los primeros caracteres únicos son suficientes para que Git identifique una entrada con precisión.
Git Revert:revertir la última confirmación de Git
Una vez que se carga una confirmación en el servidor, se crea un registro de proyecto más permanente. No es recomendable usar reset en este caso, es posible que otros desarrolladores ya hayan recuperado el proyecto actualizado.
Eliminar actualizaciones de un sistema puede causar conflictos con otros miembros del equipo. En su lugar, utilice el revertir comando:
git revert [hash]
Asegúrese de ingresar el código del hash al que desea volver. El sistema le pide que ingrese un mensaje de confirmación específico para los cambios que revertir el comando se va a ejecutar.

Esta acción crea una nueva confirmación basada en la que especificó, con revert
etiqueta. Esto actúa como un registro que muestra que la confirmación se publicó y luego se revirtió (en lugar de fingir que nunca sucedió).
Restablecimiento de Git:revertir confirmaciones no publicadas
Una confirmación no publicada es una actualización comprometida en Git pero que no se ha subido a un servidor. Para restablecer una confirmación anterior, antes de realizar cualquier cambio:
git reset --hard [hash]
Este comando borra la pizarra de nuevo a la confirmación anterior. Cualquier cambio que haya realizado se perderá después de usar reset --hard
comando.
Si desea conservar su trabajo, puede utilizar el stash
comando:
git stash
git reset --hard [hash]
git stash pop
El stash
El comando guarda el trabajo que hizo y stash pop
recupera esos cambios después del reinicio. Como alternativa, puede usar lo siguiente:
git reset --soft [hash]
Este comando restablece el historial de confirmaciones, pero deja el directorio de trabajo y el índice de preparación tal como están.
Git Amend:modificar la última confirmación
Para modificar la confirmación más reciente, utilice git commit --amend
dominio. Este comando reemplaza la última confirmación con la confirmación modificada sin alterar la instantánea.
El --amend
La bandera generalmente se usa para corregir errores menores.
Por ejemplo, desea confirmar un par de archivos en una sola instantánea, pero olvida agregar uno de los archivos antes de confirmar. Este problema se resuelve fácilmente usando --amend
opción.
Primero, agrega el archivo faltante usando:
git add file2.py
Luego, ejecuta el comando:
git commit --amend --no-edit
El --no-edit
La opción modifica la confirmación sin cambiar el mensaje de confirmación.