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

Deshacer la última confirmación de Git es una tarea común para los desarrolladores que necesitan revertir cambios o corregir errores. Git proporciona varios métodos para deshacer la confirmación más reciente, lo que le permite mantener un historial de proyecto limpio y preciso. Estos métodos incluyen restablecer, revertir o modificar confirmaciones, cada una de las cuales tiene diferentes propósitos dependiendo de si desea conservar o descartar los cambios.

Esta guía demostrará cómo deshacer la última confirmación de Git utilizando ejemplos prácticos. Al dominar estas técnicas, podrá administrar de manera eficiente su historial de Git y asegurarse de que su proyecto permanezca bien organizado y libre de errores.

Entendiendo la confirmación de Git

Antes de explorar cómo deshacer una confirmación de Git, es crucial comprender qué significa una confirmación en Git. Una confirmación representa una instantánea de su trabajo en un momento específico. Encapsula todas las modificaciones que has realizado desde la última confirmación. Cada confirmación se identifica de forma única mediante un hash SHA-1, lo que permite a Git mantener un historial de cambios.

Revertir una confirmación de Git

Existen dos técnicas principales para revertir una confirmación de Git: git reset y git revert. Discutiremos cada método en detalle, incluidos sus casos de uso e implicaciones.

git reset --soft HEAD~1

Usando git reset

El comando git reset es una herramienta potente que le permite mover o "restablecer" su HEAD actual a un estado específico. Aquí se explica cómo usarlo para deshacer su última confirmación:

git reset --soft HEAD~1

En este comando, –soft garantiza que sus cambios se conserven en el área de preparación, y HEAD~1 se refiere a la confirmación anterior a la actual. Los cambios de la confirmación deshecha permanecerán en su directorio de trabajo y en el área de preparación.

A continuación se muestra un resultado de ejemplo:

Unstaged changes after reset:
M    file1.txt
M    file2.txt

Esto indica que los cambios en file1.txt y file2.txt ahora no están preparados.

Si desea descartar por completo la confirmación y todos los cambios asociados, puede utilizar la opción –hard:

git reset --hard HEAD~1

Tenga cuidado con este comando, ya que descarta permanentemente todos los cambios de la última confirmación.

Utilizando git revert

El comando git revert crea una nueva confirmación que deshace los cambios realizados en una confirmación anterior. Esta es una forma segura de deshacer cambios, ya que no altera el historial de confirmaciones existente. Así es como puedes usarlo:

git revert HEAD

Este comando creará una nueva confirmación que deshará los cambios realizados en la última confirmación.

A continuación se muestra un resultado de ejemplo:

[master 0a9b2aa] Revert "Add new feature"
 1 file changed, 1 insertion(+), 2 deletions(-)

Esto indica que se ha creado una nueva confirmación que revierte los cambios de la confirmación anterior.

Deshacer una confirmación de Git: ejemplos ampliados

Usando git reset: más ejemplos

Restablecer un compromiso específico

Si desea deshacer no sólo la última confirmación sino varias confirmaciones, puede hacerlo especificando el hash de confirmación en lugar de HEAD~1. Por ejemplo:

git reset --soft 9fceb02

Este comando moverá HEAD a la confirmación especificada por el hash 9fceb02, y los cambios de todas las confirmaciones posteriores a 9fceb02 se mantendrán en el área de preparación.

Restablecer cambios no preparados

Si ha realizado cambios pero aún no los ha confirmado y desea deshacerlos, puede usar git reset sin ninguna referencia de confirmación:

git reset --hard

Este comando deshará todos los cambios no realizados y revertirá su directorio de trabajo al estado de la última confirmación.

Usando git revert: más ejemplos

Revertir una variedad de confirmaciones

Si desea deshacer un rango de confirmaciones, puede especificar el rango usando el comando git revert. Por ejemplo:

git revert HEAD~3..HEAD

Este comando creará nuevas confirmaciones que desharán los cambios realizados en las últimas tres confirmaciones.

Revertir un compromiso específico

Si desea deshacer una confirmación específica que no es la más reciente, puede hacerlo especificando el hash de confirmación:

git revert 9fceb02

Este comando creará una nueva confirmación que deshará los cambios realizados en la confirmación especificada por el hash. 9fceb02.

Conclusión

Git es una herramienta poderosa y su complejidad puede resultar desalentadora para los principiantes. Sin embargo, con una comprensión clara de cómo deshacer una confirmación, puedes navegar con confianza en Git. Si elige utilizar git reset o git revert depende de sus necesidades específicas y de las implicaciones de cada comando. Recuerde, la clave para dominar Git es la práctica y la exploración.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)
Categorías Git

Deja un comentario