7 Explorar el historial

7.1 git log

Recorre el grafo de commits desde un punto de partida (por defecto, HEAD) siguiendo los enlaces a los commits padre.

git log

Lista de commits, del más reciente al más antiguo, con hash, autor, fecha y mensaje.

git log --oneline

Una línea por commit: hash abreviado y primera línea del mensaje.

git log --graph --oneline --all

Dibuja el grafo con caracteres ASCII, mostrando todas las ramas a la vez. Muy útil para visualizar fusiones y divergencias.

git log -- archivo.txt

Solo los commits que modificaron ese archivo.

git log -p

Incluye el diff completo de cada commit.

git log --author="nombre"

Filtra por autor.

git log rama1..rama2

Solo los commits alcanzables desde rama2 y no desde rama1 (see Referencias y el grafo de commits).

7.2 git show

Muestra el contenido completo de un objeto: para un commit, el mensaje y el diff que introdujo; para un blob o un tag, su contenido.

git show HEAD
git show a1b2c3d
git show HEAD~2:ruta/archivo.txt

Esta última forma —con dos puntos— muestra el contenido de un archivo tal como estaba en un commit específico, sin necesidad de cambiar de rama ni de commit para verlo.

7.3 git blame

Para cada línea de un archivo, indica en qué commit se introdujo por última vez y quién lo hizo.

git blame archivo.txt

Es la herramienta natural para responder "¿por qué está esta línea así?" antes de modificarla: encontrado el commit responsable con blame, git show sobre ese hash suele revelar el contexto completo del cambio, incluyendo el mensaje del commit.