Visualización del historial con git
Aprende a realizar la visualización del historial con (git log, git show, git diff)
Como se ha mencionado en el post ¿Qué es Git y por qué usarlo?, Git es un sistema de control de versiones distribuido que permite gestionar cambios en el código de un proyecto. En este post exploraremos como podemos ver el historial de control de cambios que se ha realizado en un proyecto de prueba.
Antes de empezar
Recomiendo revisar la Instalación y Configuración de Git para que pueda realizar correctamente el ejercicio que vamos a realizar.
Revisa y entiende los Estados de archivos en Git (git status
, git add
, git commit
) para que pueda ver los distintos cambios realizados.
🧠 Resumen visual
A continuacion encontrará un resumen de los comandos que vamos a trabajar con Git.
Comando | ¿Qué muestra? |
---|---|
git log |
Historial completo de commits |
git log --oneline |
Historial breve, una línea por commit |
git log -p |
Historial con diferencias (diffs) incluidas |
git show <commit> |
Detalles completos de un commit específico |
git diff |
Cambios actuales no preparados (working directory) |
git diff --staged |
Cambios que se han agregado con git add |
git diff A B |
Diferencias entre dos commits o ramas |
Crear un proyecto
Primero vamos a crear un proyecto, lo explico en Creación de un repositorio (git init
) y clonación (git clone
) donde vamos a realizar varias modificaciones y a realizar distintos commits con el objetivo de tener un gran historial.
Primero creamos el proyecto en un directorio que llamaremos historial-git
git init
Respuesta: Initialized empty Git repository in C:/code/historial-git/.git/
Procedemos a crear un archivo que llamaremos README.md
y colocamos cualquier texto en el archivo. Procedemos a ver el estado del repositorio.
echo "primera linea de texto" > README.md
Vemos es estado con:
git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
Hacemos el primer commit, primero añadimos el archivo nuevo para preparar el commit.
git add .
git commit -a -m "primer commit"
Respuesta:
[master (root-commit) 9bb61b7] primer commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
Ahora, para esta practica realizamos varias modificaciones y varios commits a los archivos repitiendo los pasos anteriores, recomiendo al menos cinco commits, ejemplo:
git commit -a -m "Añadimos un texto"
git commit -a -m "Añadimos un comando"
git commit -a -m "Añadimos una formula"
git commit -a -m "Añadimos un subtitulo"
git commit -a -m "otra linea de texto"
Visualización del Historial en Git
🖥 git log
Muestra el historial de commits del repositorio.
git log
Verás algo como esto:
$ git log
commit ea2e97477b60e460a0f242fbe68345c78cd96cf9 (HEAD -> master)
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:55:37 2025 -0500
otra linea de texto
commit 141a6348a517f6a6c7f220226fa2a4ad922f5f7a
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:54:36 2025 -0500
Añadimos un subtitulo
commit cd4bacd82020dc00a9128305de5a1adedc6f07b2
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:53:49 2025 -0500
Añadimos una formula
commit e50b580eb5f8e0308ae47449de13dd84ca0b1f41
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:52:52 2025 -0500
Añadimos un comando
commit 6c6992ff9cd0fbddcf3bb40a372758620787c025
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:52:26 2025 -0500
Añadimos un texto
commit 2a7a45006b54752d0cf4f2353376849a56807635
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:42:13 2025 -0500
primer commit
🔹 Opciones útiles
-
git log --oneline
: muestra los commits en una sola línea. -
git log --graph
: dibuja un gráfico del árbol de commits. -
git log -p
: muestra los cambios (diffs) incluidos en cada commit. -
git log --stat
: muestra un resumen de qué archivos se modificaron y cuántas líneas cambiaron.
🖥 git show
Muestra el detalle de un commit específico, incluyendo el mensaje, autor, fecha y cambios realizados (diff).
git show cd4bacd82020dc00a9128305de5a1adedc6f07b2
Respuesta:
commit cd4bacd82020dc00a9128305de5a1adedc6f07b2
Author: ofernandezigeoerp <ofernandez@igeoerp.com>
Date: Mon Apr 14 14:53:49 2025 -0500
Añadimos una formula
diff --git a/README.md b/README.md
index 7cb9868..f39acce 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,4 @@
Procedemos a agregar la primer linea
Este es un comando git status
También puedes usarlo sin parámetro para ver el último commit:
git show
🖥 git diff
Compara cambios entre archivos, commits o ramas. Muy útil para ver diferencias antes de hacer commit o entre distintas versiones.
🔹 Ver cambios no staged (modificados pero no agregados con git add
):
git diff
🔹 Ver cambios staged (ya agregados con git add
):
git diff --staged
🔹 Comparar entre commits:
git diff commit1 commit2
Ejemplo:
git diff 141a6348a517f6a6c7f220226fa2a4ad922f5f7a cd4bacd82020dc00a9128305de5a1adedc6f07b2
Respuesta:
diff --git a/README.md b/README.md
index 3d6f428..f39acce 100644
--- a/README.md
+++ b/README.md
@@ -3,5 +3,3 @@
Procedemos a agregar la primer linea
Este es un comando git status
Añadimos una formula
-
-## Comandos git
🔹 Comparar ramas: para mas detalle de rama en el Creación y gestión de ramas con git
git diff main develop