Cómo deshacer la última confirmación de Git

Si eres un desarrollador web o un ingeniero de software, es muy probable que estés presionando muchas confirmaciones para tu Git repositorio todos los días.

Sin embargo, en algunos casos, comprometió algunos archivos que no deberían enviarse a su repositorio de Git.

A veces, es posible que desee realizar cambios adicionales antes de emitir el compromiso .

Como consecuencia, necesita deshacer la última confirmación de su repositorio de Git.

En este tutorial, veremos cómo puede deshacer fácilmente la última confirmación, tal vez para volver a confirmar los cambios más adelante.

Tabla de contenido

Deshacer la última confirmación de Git con restablecer

La forma más fácil de deshacer la última confirmación de Git es ejecutar el comando «git reset» con la opción «–soft» que conservará los cambios realizados en sus archivos. Tienes que especificar la confirmación para deshacer, que es «HEAD ~ 1» en este caso.

La última confirmación se eliminará de tu historial de Git.

Si no está familiarizado con esta notación, «HEAD ~ 1» significa que desea restablecer HEAD (la última confirmación) a una confirmación anterior en el historial de registro.

Entonces, ¿cuál es el impacto de este comando?

El comando «git reset» puede verse como lo opuesto al comando «git add», esencialmente agregando archivos al índice de Git.

Cuando se especifica la opción «–soft», se le indica a Git que no modifique los archivos en el directorio de trabajo o en el índice.

Como ejemplo , digamos que ha agregado dos archivos en su confirmación más reciente, pero desea realizar algunas modificaciones en este archivo.

Como consecuencia, usará «git reset» con la opción «–soft» para deshacer la última confirmación y realizar modificaciones adicionales.

Como puede ver, al deshacer la última confirmación, el El archivo todavía está en el índice (cambios por confirmar) pero la confirmación fue eliminada.

Genial, has deshecho con éxito la última confirmación de Git en tu repositorio.

Reinicio completo de la confirmación de Git

En la sección anterior, hemos visto cómo puede deshacer fácilmente la última confirmación conservando los cambios realizados en los archivos en el índice.

En algunos casos, simplemente desea deshacerse de la confirmación y los cambios realizados en los archivos.

Este es el propósito de la opción «–hard».

Para deshacer la última confirmación y descartar todos los cambios en el directorio y el índice de trabajo, ejecute el comando «git reset» con la opción «–hard» y especifique la confirmación antes de HEAD («HEAD ~ 1»).

Tenga cuidado al usar «–hard»: los cambios se eliminarán del directorio de trabajo y del índice, perderá todas las modificaciones.

De vuelta al ejemplo que hemos detallado antes, digamos que ha enviado un nuevo archivo a su repositorio de Git llamado «file1».

Ahora, imaginemos que desea deshacer la última confirmación y descartar todas las modificaciones.

Genial, veamos ahora el estado de nuestro repositorio de Git .

Como puede ver, el archivo se eliminó por completo del repositorio de Git (índice + directorio de trabajo)

Restablecimiento mixto Git commit

Para deshacer el último commit de Git, mantenga los cambios en el directorio de trabajo pero NO en el índice, debe usar el comando «git reset» con la opción «–mixed». Junto a este comando, simplemente agregue «HEAD ~ 1» para la última confirmación.

Como ejemplo, digamos que hemos agregado un archivo llamado » file1 ”en una confirmación que necesitamos deshacer.

Para deshacer la última confirmación, simplemente ejecutamos el comando» git reset «con la opción» –mixed «.

Al especificar la opción» –mixed «, el archivo se eliminará del índice Git pero no del directorio de trabajo.

Como consecuencia, el» –mixed ”Es una» mezcla «entre el reinicio por software y el hardware, de ahí su nombre.

¡Genial! Encontraste otra forma de revertir la última confirmación mientras preservas los cambios realizados en los archivos.

En la siguiente sección, veremos otra forma de revertir la última confirmación usando el comando git revert.

Deshacer la última confirmación con revert

Para revertir la última confirmación de Git , use el «git revert» y especifique el compromiso que se revertirá, que es «HEAD» para el último compromiso de su historial.

El comando «git revert» es ligeramente diferente del comando «git reset» porque registrará una nueva confirmación con los cambios introducidos al revertir la última confirmación.

Tenga en cuenta también que con «git reset ”especificó» HEAD ~ 1 «porque el comando reset establece una nueva posición HEAD mientras que la reversión en realidad revierte la confirmación especificada.

Como consecuencia, tendrá que confirmar los cambios nuevamente para que los archivos sean revertido y que la confirmación se deshaga.

Como consecuencia, digamos que ha enviado un nuevo archivo a su repositorio de Git pero desea revertir esta confirmación.

Al ejecutar el comando «git revert», Git abrirá automáticamente su editor de texto para confirmar los cambios.

Cuando haya terminado con el mensaje de confirmación, se mostrará un mensaje con el nuevo hash de confirmación.

Ahora, si inspeccionara su historial de Git nuevamente, notaría que se agregó una nueva confirmación para deshacer la última confirmación de su repositorio.

Conclusión

En este tutorial, has visto todas las formas de deshacer la última confirmación de tu repositorio Git.

Has aprendido sobre el «git reset ”Y las diferentes formas de ejecutarlo dependiendo de lo que quieras mantener o no.

También aprendiste sobre la diferencia entre el comando git reset y el comando git revert, este último agrega una nueva confirmación en orden para revertir el de su repositorio.

Si tiene curiosidad sobre Git o sobre software engin eering, tenemos una sección completa dedicada a él en el sitio web, ¡así que asegúrese de revisarlo!

Si le gusta Git, es posible que le gusten nuestros otros artículos:

  • Cómo clonar un repositorio de Git
  • Cómo quitar el escenario de archivos de Git
  • Cómo elegir Cherry Commits de Git
git

Write a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *