> Manuales > Manual de Git

Ver el historial de commits de un proyecto con git log, cómo hacerlo, cuáles son las opciones más útiles para sacarle partido al log.

A veces necesitamos examinar la secuencia de commits (confirmaciones) que hemos realizado en la historia de un proyecto, para saber dónde estamos y qué estados hemos tenido a lo largo de la vida del repositorio. Esto lo conseguimos con el comando de Git "log".

Una vez tenemos el listado en nuestro terminal podemos observar los mensajes de los commits y su identificador, pero también podríamos obtener más información de un commit en concreto, sus modificaciones en el código, o tener la referencia para moverse hacia atrás en el histórico de commits. En este artículo del Manual de Git vamos a ver algunas de estas acciones más comunes para empezar a practicar con el log de Git.

Comando git log

El comando que podemos usar para ver el histórico de commits, estando situados en la carpeta de nuestro proyecto, es:

git log

Con esto obtenemos una salida como la que sigue en la siguiente imagen:

Nota: El listado puede contener una cantidad de commits que no quepa en la ventana del terminal, en ese caso podemos ir a la siguiente página con la barra espaciadora. O puedes moverte mediante los cursores del teclado, arriba y abajo. Salimos de nuevo a la entrada de comandos con "CTRL + z".

Como puedes observar, el listado de commits está invertido, es decir, los últimos realizados aparecen los primeros.

De un commit podemos ver diversas informaciones básicas como:

Podría ser algo como esto:

commit cd4bcc8bad230f895fcadd5baf258715466a8eaf
Author: Miguel Angel Alvarez <malvarez@desarrolloweb.com>
Date:   Fri Feb 10 18:38:41 2017 -0200

    ejemplos clase 1 polymerfire

Log en una línea por commit

Es muy útil lanzar el log en una sola línea, lo que permite que veamos más cantidad de commits en la pantalla y facilita mucho seguir la secuencia, en vez de tener que ver un montón de páginas de commits.

Para ello usamos el mismo comando, pero con la opción "--oneline":

git log --oneline

Entonces la salida será algo como esto:

Nota: Esta opción en realidad es un atajo de escribir estas dos opciones: "--pretty=oneline --abbrev-commit". La primera indica que justamente que pongas un commit por línea y la segunda te indica que muestres la cadena resumida con el identificador del commit, en vez de la cadena de 40 bytes hexadecimal normal. El identificador resumido es suficiente para referirse de manera inequívoca a un commit, ya que el resto del identificador contiene información sobre el usuario que hizo el commit y otros datos de control.

Ver un número limitado de commits

Si tu proyecto ya tiene muchos commits, decenas o cientos de ellos, quizás no quieras mostrarlos todos, ya que generalmente no querrás ver cosas tan antiguas como el origen del repositorio. Para ver un número de logs determinado introducimos ese número como opción, con el signo "-" delante (-1, -8, -12...).

Por ejemplo, esto muestra los últimos tres commits:

git log -3

Ver información extendida del commit

Si queremos que el log también nos muestre los cambios en el código de cada commit podemos usar la opción -p. Esta opción genera una salida mucho más larga, por lo que seguramente nos tocará movernos en la salida con los cursores y usaremos CTRL + Z para salir.

git log -2 -p

Eso nos mostrará los cambios en el código de los últimos dos commits. Sin embargo, si quieres ver los cambios de cualquier otro commit que no sea tan reciente es mucho más cómodo usar otro comando de git que te explicamos a continuación "git show".

Comando "show": obtener mayor información de un commit

Podemos ver qué cambios en el código se produjeron mediante un commit en concreto con el comando "show". No es algo realmente relativo al propio log del commit, pero sí que necesitamos hacer log primero para ver el identificador del commit que queremos examinar.

Realmente nos vale con indicarle el resumen de identificador del commit, que vimos con el modificador --oneline.

git show b2c07b2
Nota: Igual que en el log, para ver más cosas que no quepan en la pantalla, tenemos que usar los cursores del teclado, o pasar a la siguiente página con la barra espaciadora. Salimos con "CTRL + z".

Podrás observar que al mostrar la información del commit te indica todas las líneas agregadas, en verde y con el signo "+" al principio , y las líneas quitadas en rojo y con el signo "-" al principio.

Opción --graph para el log con diagrama de las ramas

Si tu repositorio tiene ramas (branch) y quieres que el log te muestre más información de las ramas existentes, sus uniones (merges) y cosas así, puedes hacer uso de la opción --graph.

git log --graph --oneline

Ese comando te mostrará los commit en una línea y las ramas en las que estabas, con sus diferentes operaciones. La salida del git log será algo como esto:

Nota: En el Manual de Git se explica en otro artículo el trabajo con ramas. De hecho, en este diagrama se pueden ver las branch y merges que realizamos como práctica en aquel artículo.

Conclusión

Hemos visto algunas de las opciones más útiles y recurrentes cuando quieres revisar el log de un repositorio Git. Pero hay decenas de otras configuraciones y opciones del comando existentes para conseguir infinidad de nuevos comportamientos.

La referencia completa de opciones del comando "git log" la puedes ver en esta dirección: https://git-scm.com/docs/git-log

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual