Deshacer la última confirmación en un repositorio Git remoto

John Wachira 15 febrero 2024
Deshacer la última confirmación en un repositorio Git remoto

Este artículo discutirá la eliminación de la última confirmación de un repositorio Git remoto. Git facilita la reversión a un commit anterior si el commit actual no cumple con nuestras expectativas.

Veamos cómo podemos hacer esto.

Deshacer la última confirmación en un repositorio Git remoto

Simulemos una situación en la que debemos revertir un commit en nuestro repositorio remoto.

Nuestro repositorio Delftscopetech tiene un archivo README.md. Haremos cambios, los confirmaremos y los enviaremos al repositorio remoto.

repo

Hemos enviado los cambios a nuestro repositorio remoto. Aquí está nuestro repositorio remoto.

repo remote

En un escenario en el que quisiéramos deshacer este compromiso, ¿cómo lo haríamos?

Ejecutaremos el comando git log para mostrar una lista de todas las commits en nuestro repositorio. Use la opción --oneline para una salida simplificada.

$ git log --oneline

git log oneline

El siguiente paso es restablecer el HEAD para que el árbitro esté en la Sexta actualización. Ejecutaremos el comando git reset y pasaremos el Commit ID de nuestra Sexta actualización, como se muestra a continuación.

$ git reset --hard 27bd68b
HEAD is now at 27bd68b Sixth Update

Si tuviéramos que ejecutar el comando git log, encontraríamos que falta el compromiso Updated README.md File. Hemos eliminado esta confirmación de nuestro repositorio local y lo único que queda es enviar los cambios a nuestro repositorio remoto, como se muestra a continuación.

Tendremos que ejecutar un empuje forzado ya que el repositorio remoto está adelantado por un commit. Ejecutamos el siguiente comando.

$ git push -f

git push -f

Nuestro repositorio remoto ha sido actualizado. Confirmemos esto.

repositorio remoto actualizado

Eso es practicamente todo. Asegúrese de que otros desarrolladores no obtengan datos del control remoto antes de deshacer el commit incorrecta.

John Wachira avatar John Wachira avatar

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

Artículo relacionado - Git Reset

Artículo relacionado - Git Commit