🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

¡Veamos el historial! Operaciones básicas para revisar el historial de commits con git log

En artículos anteriores, hemos aprendido a registrar y deshacer cambios usando Git. A medida que avanzas en tu trabajo, lo siguiente que probablemente querrás saber es: "¿Qué cambios he registrado hasta ahora?". Comprender con precisión el trabajo anterior es crucial para encontrar la causa de los errores o para verificar cuándo se implementó una función específica.

Este artículo se centra en el comando `git log`, que es útil en esos momentos. Este comando sirve para mostrar el historial de commits, el "diario de navegación" de tu proyecto, de una manera fácil de leer y entender. ¡Vamos a dominar cómo utilizar diversas opciones para extraer la información que necesitas de forma inteligente!


Uso básico de `git log`

Primero, ejecutemos el comando `git log` más básico. En la terminal (o Git Bash), navega a la carpeta del repositorio cuyo historial quieres ver e introduce el siguiente comando.

git log

Al ejecutarlo, se mostrará el historial de commits hasta la fecha en orden cronológico inverso (del más nuevo al más antiguo). Cada commit incluye la siguiente información:

Si el historial es largo, puedes presionar la tecla `q` para salir de la visualización del log.


¡Hazlo más legible! Opciones útiles de `git log`

La salida por defecto de `git log` tiene demasiada información y puede ser un poco difícil de leer. Afortunadamente, `git log` cuenta con muchas opciones útiles para personalizar el formato de visualización.

1. Mostrar el historial de forma simple en una línea (`--oneline`)

Es ideal para cuando quieres resumir cada commit en una sola línea para una visualización sencilla. Solo se muestran los primeros 7 caracteres del ID del commit y la primera línea del mensaje del commit, lo que te permite captar rápidamente el flujo general.

git log --oneline

2. Mostrar también la lista de archivos modificados (`--stat`)

Se utiliza cuando quieres ver información estadística junto con cada commit, como qué archivos se modificaron y cuántas líneas se añadieron o eliminaron.

git log --stat

3. Mostrar también los cambios concretos en el código (`-p` o `--patch`)

Se utiliza cuando quieres ver en detalle los cambios específicos a nivel de código (diferencias) en cada commit. Es fácil ver qué líneas se añadieron (mostradas con `+`) y qué líneas se eliminaron (mostradas con `-`).

git log -p

4. Limitar el número de commits a mostrar (`-n`)

Es útil para cuando solo quieres echar un vistazo al historial más reciente. Por ejemplo, para mostrar solo los 3 commits más recientes, harías lo siguiente:

git log -n 3

5. Mostrar gráficamente la derivación de las ramas (`--graph`)

Muestra historiales complejos, como la fusión (merge) de múltiples ramas, de forma visualmente comprensible conectándolos con líneas. Se vuelve muy fácil de leer si se combina con `--oneline`.

git log --graph --oneline

Opciones para buscar un historial específico

A medida que los proyectos crecen, se vuelve difícil encontrar un historial de cambios específico. En esos casos, las opciones para filtrar el historial especificando condiciones son de gran ayuda.

Ver solo el historial de un archivo o directorio específico

Extrae y muestra solo el historial de cuándo y cómo se ha modificado un archivo específico (ej: `index.html`).

git log -- [nombre-del-archivo]

Ver solo los commits de un autor específico (`--author`)

Es útil en el desarrollo en equipo para verificar qué tipo de trabajo ha realizado un miembro específico.

git log --author="nombre-de-usuario"

Buscar por el contenido del mensaje del commit (`--grep`)

Busca solo los commits que contienen una palabra clave específica (ej: "corrección de bug") en el mensaje del commit.

git log --grep="palabra-clave-a-buscar"

Conclusión: Quien domina `git log`, domina la historia del proyecto

En esta ocasión, hemos presentado varias formas de revisar el historial de commits usando el comando `git log`. Al principio, puede que baste con el `git log` básico o `git log --oneline`, pero a medida que el proyecto se vuelve más complejo, las opciones que hemos presentado se convierten en herramientas poderosas.

La capacidad de revisar libremente los cambios pasados es indispensable para acelerar la resolución de problemas y mantener la calidad del código. ¡Anímate a probar las diversas opciones y encuentra la forma de visualización que te resulte más cómoda!