Eliminar una confirmación pero conservar los cambios en Git
- Eliminar una confirmación pero conservar los cambios en Git
-
Eliminar un compromiso y conservar los cambios con el comando
git reset
Este artículo describe los pasos necesarios para deshacer una confirmación de Git mientras se conservan los cambios introducidos por la misma confirmación. Cubriremos dos comandos que podemos usar que tendrán los mismos efectos.
Sin más preámbulos, entremos de inmediato.
Eliminar una confirmación pero conservar los cambios en Git
Usemos un ejemplo para explorar este concepto.
Suponiendo que tenemos el historial de confirmaciones que se muestra a continuación en nuestro repositorio, ¿cómo eliminamos la última confirmación pero conservamos los cambios?
Hay dos métodos que podemos emplear para lograr nuestro objetivo. Veamos el primer método, que es el más fácil.
Eliminar un compromiso y conservar los cambios con el comando git reset
Podemos utilizar el comando git reset
para deshacer una confirmación conservando los cambios, como se muestra a continuación:
$ git reset HEAD~
Esto debería eliminar el compromiso Actualizar Config.py
pero mantener los cambios en el archivo. Podemos ejecutar el comando git log
para confirmar nuestro caso.
Si ejecuta el comando git status
, verá que tiene cambios sin preparar. Esto no significa necesariamente que su archivo haya cambiado.
Cuando usamos el comando git reset
sin una opción --soft
o --hard
, Git deshará la confirmación especificada sin cambiar los archivos afectados por la confirmación.
Puede agregar los cambios al índice y ejecutar el comando git commit --amend--no-edit
para eliminar los cambios del índice y montarlos en la última confirmación.
Alternativamente, en lugar de eliminar la confirmación, puede continuar con el desarrollo y ejecutar el comando git commit --amend
cuando sea el momento de realizar una nueva confirmación. En este punto, agregará sus nuevas modificaciones a la confirmación que desea eliminar y también podrá editar el mensaje de confirmación.
En pocas palabras, Git nos permite deshacer un compromiso y mantener los cambios introducidos por el mismo compromiso. Podemos usar el comando git reset
y el comando git commit --amend
para lograr nuestro objetivo.
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