Compartir en Twitter
Go to Homepage

CÓMO DESHACER EL ÚLTIMO COMMIT EN GIT: USO DE GIT REVERT

July 18, 2025

Introducción al uso de git revert

Git es una herramienta fundamental para el control de versiones en el desarrollo de software, permitiendo a los equipos gestionar y colaborar en proyectos de manera eficiente. Sin embargo, en ocasiones es necesario deshacer el último commit remoto o local para corregir errores o cambios no deseados sin comprometer la integridad del historial.

El comando git revert es una solución segura para esta necesidad, ya que no elimina el commit original, sino que crea un nuevo commit que revierte los cambios realizados. Esto mantiene el historial limpio y organizado, facilitando la colaboración y el seguimiento de modificaciones.

En este contexto, aprender a utilizar git revert para deshacer el último commit remoto o local es esencial para cualquier desarrollador que busque mantener un flujo de trabajo ordenado y seguro.

Fundamentos de git revert y su importancia

El comando git revert permite revertir cambios específicos en un repositorio sin alterar el historial de commits. A diferencia de otros comandos que pueden eliminar o modificar el historial, git revert crea un nuevo commit que invierte los cambios de un commit anterior, preservando así la integridad del repositorio.

Esta característica es especialmente valiosa cuando se trabaja en proyectos colaborativos, donde mantener un historial claro y coherente es crucial. Además, el uso de git revert evita conflictos que pueden surgir al modificar el historial compartido.

Para revertir un commit, se utiliza el hash del commit objetivo, lo que permite revertir tanto el último commit como cualquier commit anterior de forma precisa y segura.

Procedimiento para deshacer el último commit en Git

Para deshacer el último commit en Git utilizando git revert, se deben seguir pasos específicos que garantizan la seguridad y claridad del historial:

  1. Acceder al repositorio local mediante la terminal.

  2. Consultar el historial de commits con git log para identificar el hash del último commit.

  3. Ejecutar el comando git revert <hash> para crear un nuevo commit que revierta los cambios del commit especificado.

Este proceso es especialmente útil cuando se desea deshacer el último commit remoto sin afectar el trabajo de otros colaboradores, ya que no elimina el commit original sino que añade un nuevo commit que lo revierte.

git log --oneline
git revert <hash_del_ultimo_commit>

Deshacer commits específicos y locales

En ocasiones, es necesario revertir un commit que no es el último o que se encuentra en el repositorio local. El comando git revert permite esta flexibilidad, facilitando la corrección de errores en cualquier punto del historial.

Para revertir un commit específico, se identifica su hash mediante git log y se ejecuta:

git revert <hash_del_commit>

Este comando genera un nuevo commit que invierte los cambios del commit seleccionado, manteniendo el historial intacto y evitando la pérdida de información.

Además, para deshacer el último commit local antes de enviarlo al repositorio remoto, git revert es una opción segura que evita problemas de sincronización con otros colaboradores.

Revertir múltiples commits de forma segura

Cuando se requiere revertir varios commits, git revert ofrece la posibilidad de hacerlo de manera ordenada y segura, creando commits que revierten cada uno de los cambios.

Por ejemplo, para revertir los últimos tres commits, se puede utilizar:

git revert HEAD~3..HEAD

Este comando genera un nuevo commit que revierte los cambios realizados en los tres últimos commits, manteniendo el historial claro y sin eliminar información.

Es importante destacar que esta técnica es preferible a usar comandos como git reset cuando se trabaja en repositorios compartidos, ya que git reset puede eliminar commits y causar conflictos.

Diferencias entre git revert y git reset

Aunque ambos comandos permiten deshacer cambios, existen diferencias fundamentales entre git revert y git reset que afectan su uso en distintos escenarios.

  • git revert crea un nuevo commit que invierte los cambios, preservando el historial y facilitando la colaboración.

  • git reset elimina commits del historial, lo que puede causar pérdida de información y conflictos en repositorios compartidos.

Por ejemplo, para eliminar los últimos tres commits con git reset:

git reset HEAD~3

Este comando elimina los commits y los cambios asociados, por lo que debe usarse con precaución y preferiblemente en repositorios locales o ramas no compartidas.

Uso práctico y recomendaciones

Para mantener un flujo de trabajo seguro y colaborativo, se recomienda utilizar git revert para deshacer el último commit github o cualquier commit remoto, ya que garantiza la integridad del historial y evita conflictos.

En cambio, git reset puede ser útil para corregir errores en commits locales antes de ser compartidos, pero su uso debe ser cuidadoso para no afectar el trabajo en equipo.

A continuación, un ejemplo práctico para revertir el último commit remoto:

git fetch origin
git revert origin/main
git push origin main

Este procedimiento asegura que los cambios revertidos se reflejen correctamente en el repositorio remoto sin eliminar historial.


Conclusiones

El manejo adecuado de los commits en Git es esencial para mantener un historial limpio, organizado y colaborativo. El comando git revert se presenta como la herramienta más segura para deshacer el último commit remoto o local, ya que crea un nuevo commit que revierte los cambios sin eliminar el historial.

Comprender las diferencias entre git revert y git reset permite a los desarrolladores elegir la estrategia adecuada según el contexto, evitando pérdidas de información y conflictos en el repositorio.

Adoptar buenas prácticas en el uso de estos comandos contribuye a un desarrollo más eficiente y a una mejor colaboración en proyectos de software.