Comandos de Git para ver y revertir versiones

Navegando por el historial de versiones

Git es una herramienta fundamental para gestionar cambios en proyectos de software. Cuando trabajas con él, es esencial saber cómo explorar el historial y, si algo no funciona como esperabas, cómo regresar a un estado anterior sin perder la información valiosa que has acumulado.

Diagrama de control de versiones con nodos y ramas
El diagrama muestra cómo funciona la estructura básica de las versiones en Git.

El primer paso siempre es inspeccionar. Para ver una lista clara y concisa de todos los cambios recientes, utiliza el comando git log --oneline. Esto te mostrará una serie de hashes cortos junto con breves descripciones.

Volver temporalmente a una versión anterior

A veces, necesitas probar cómo se comportaba tu proyecto en un momento específico del pasado. Para esto, puedes usar git switch --detach XXXXXXX, donde reemplazarás XXXXXXX con el hash exacto del commit que deseas explorar.

Terminal con salida de git log
El historial de commits se muestra fácilmente con este comando.

Esta es una maniobra muy segura. Tu directorio quedará exactamente en ese estado, pero no estás moviendo ni borrando el historial principal. Si decides que no te gusta esa versión y quieres volver a la normalidad, simplemente ejecutas git switch main.

Hacer que tu rama vuelva permanentemente

Si por el contrario, lo que realmente deseas es decir: «Quiero que mi instalación quede exactamente como estaba en este commit y que los commits posteriores dejen de formar parte del historial», entonces debes ser más decidido.

Botón de revertir sobre ramas de código
El comando permite probar versiones anteriores de forma segura.

En ese caso, el comando correcto es git reset --hard XXXXXXX. Este orden mueve la rama hacia atrás y descarta los cambios locales posteriores. Ten cuidado con esto: si tienes archivos que Git no está siguiendo, puedes ejecutar git clean -fd para eliminarlos también.

Recuperar solo archivos específicos

Otra opción útil es cuando solo quieres recuperar ciertos archivos de una versión antigua sin mover toda la rama. Puedes usar el comando git restore --source=XXXXXXX ..

Diagrama de un reset hard en Git
Este comando altera permanentemente el estado de tu rama principal.

Para tu caso, lo más sensato es primero ejecutar git log --oneline, identificar el hash correcto y luego usar git switch --detach XXXXXXX. Así puedes comprobar tranquilamente esa versión. Solo si resulta ser la correcta, recién ahí ejecutas el reset.