Deshacer un Git Pull
Este artículo ilustra cómo puedes deshacer los efectos del comando git pull
. Puede encontrarse en una situación en la que un comando git pull
haya cambiado archivos en su repositorio, pero le gustaría restaurarlos a su estado anterior.
Este artículo lo guiará sobre cómo tomar medidas para revertir su repositorio.
Deshacer un Git Pull
El comando git pull
combina los comandos git fetch
y git merge Fetch_HEAD
. Obtiene los cambios del repositorio remoto y los fusiona en la rama local actual.
Lo que sea que esté en la punta de la sucursal remota se fusionará con su sucursal local.
Si ejecuta el comando git log --oneline
, debería ver la nueva confirmación del repositorio remoto. En este punto, su repositorio está en HEAD
.
Debe revertir su repositorio a HEAD~1
; el padre confirma la nueva confirmación del repositorio remoto. Hay varias maneras de hacer esto.
Puede usar el comando git reset
, como se ilustra a continuación.
$ git reset --hard HEAD~1
El comando git reset --hard
descartará cualquier cambio no confirmado en su repositorio.
También puede usar el SHA-1
de la confirmación principal. Veamos un ejemplo.
Aquí está el historial de confirmación de un repositorio después de ejecutar el comando git pull
.
$ git log --oneline
3b65c8e Update README.md
16b997a Update LICENSE.md
Para pasar a la confirmación principal usando SHA-1
, ejecutaremos:
$ git reset --hard 16b997a
También puede restablecer a un cierto punto en el tiempo. Si ejecutó el git pull
hace veinte minutos, puede ejecutar el siguiente comando para restaurar la versión anterior de su repositorio.
$ git reset --hard master@{"20 minutes ago"}
Después de extraer los cambios del repositorio remoto, puede revertir su repositorio a la versión anterior usando el comando git reset --hard
. Guarde cualquier trabajo no comprometido, ya que este comando también descartará los cambios.
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.
LinkedIn