Revertir una confirmación modificada en Git
Este artículo describe cómo revertir el comando git commit --amend
. Usamos este comando para agregar archivos a una confirmación anterior para mantener nuestro repositorio limpio.
En un escenario donde usamos el comando por error, ¿cómo revertiríamos los efectos?
Revertir una confirmación modificada en Git
Echemos un vistazo al siguiente ejemplo.
En el siguiente ejemplo, hemos utilizado el comando git commit --amend
para agregar cambios de archivo a la última confirmación en nuestra rama maestra
.
Queremos deshacer la modificación y enviar el archivo por separado. ¿Cómo hacemos esto?
Tendremos que mover nuestro HEAD
actual para que apunte a la confirmación anterior antes de que se moviera HEAD
. Podemos hacer esto ejecutando el siguiente comando.
$ git reset --soft HEAD@{1}
Tenga en cuenta que usamos HEAD@{1}
en lugar de HEAD~1
. Este último nos llevará al nodo padre del HEAD
actual, que no es lo que deseamos.
Esto debería restaurar la confirmación anterior tal como estaba antes de la modificación. Ahora deberíamos tener nuestro archivo modificado en el índice.
Confirmemos nuestro caso con el comando git status
.
Alternativamente, puede ejecutar el comando git reflog
para obtener el antiguo hash de confirmación antes de que lo modifiquemos. De cualquier manera, tanto HEAD@{1}
como el antiguo hash de confirmación combinado con el comando git reset --soft
llegarán al mismo destino.
Ahora podemos enviar el archivo de la manera convencional.
$ git commit -m "Modify run.py"
Ahora tenemos una confirmación separada para nuestro archivo modificado.
En pocas palabras, podemos revertir los efectos del comando git commit --amend
usando el comando git reset --soft
. Tenga en cuenta que HEAD@{1}
es diferente de HEAD~1
.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedInArtículo relacionado - Git Commit
- Agregar todos los archivos para confirmar excepto un archivo
- Agregar un archivo a la última confirmación en Git
- Cierra el editor de Git Commit en Windows
- Combinar selectivamente los cambios de diferentes ramas en Git
- Comprender la función de aprobación de Git Commit
- Confirmaciones de la lista de Git