Git diff – Qué es, para qué sirve y cómo usarlo
Git diff es el comando que te permite visualizar exactamente qué cambió en tus archivos antes de crear un nuevo commit. Aprender a utilizarlo te ayudará a detectar errores, revisar cada modificación con detalle y mantener un historial de cambios mucho más limpio y organizado. En esta guía descubrirás cómo funciona y cómo aprovecharlo paso a paso.

Índice
1. Introducción
Hasta este punto del curso ya aprendimos a trabajar con el flujo básico de Git. Primero vimos cómo instalar Git y realizar la configuración inicial. Luego aprendimos a crear un repositorio con git init, agregar archivos con git add, guardar versiones mediante git commit y comprobar el estado del proyecto utilizando git status.
Gracias a estos comandos ya somos capaces de crear un historial de versiones de nuestro proyecto. Sin embargo, antes de guardar una nueva versión, existe una pregunta muy importante que deberíamos hacernos:
¿Qué cambios hice exactamente desde el último commit?
Es aquí donde entra en juego Git Diff, una de las herramientas más útiles de Git.
Con git diff podemos comparar archivos y visualizar línea por línea qué fue agregado, eliminado o modificado antes de crear un nuevo commit. Esto nos ayuda a detectar errores, revisar nuestro trabajo y asegurarnos de que solamente estamos guardando los cambios que realmente queremos conservar.
A lo largo de este artículo aprenderás qué es git diff, cómo utilizarlo desde la terminal y desde Visual Studio Code, además de conocer distintos ejemplos reales donde este comando resulta indispensable.
2. ¿Qué es y para qué sirve Git Diff?
git diff es el comando encargado de comparar cambios entre distintas versiones de un archivo o entre diferentes estados del repositorio.
Su función principal consiste en mostrar exactamente qué líneas fueron modificadas, eliminadas o agregadas.
En otras palabras, Git no solamente sabe que un archivo cambió, sino que también puede indicar qué cambió dentro del archivo.
Por ejemplo, si modificamos un archivo HTML agregando un nuevo botón o cambiando un título, git diff mostrará exactamente esas líneas modificadas.
Gracias a ello podemos revisar nuestro trabajo antes de realizar un nuevo commit.
3. ¿Por qué es importante usarlo?
Muchos principiantes realizan cambios y ejecutan directamente:
git add .
git commit -m "Actualización"Lenguaje del código: JavaScript (javascript)
Aunque esto funciona, no siempre es una buena práctica.
Antes de guardar una nueva versión conviene revisar exactamente qué estamos enviando al repositorio.
Al utilizar git diff podemos:
- Detectar errores antes del commit.
- Revisar cambios realizados hace varios minutos u horas.
- Evitar guardar modificaciones accidentales.
- Comprobar que solo modificamos el archivo esperado.
- Ver exactamente qué líneas fueron agregadas o eliminadas.
Por esta razón, muchos desarrolladores ejecutan siempre el siguiente flujo de trabajo:
Editar archivos
↓
git status
↓
git diff
↓
git add
↓
git commit
Este pequeño paso evita una enorme cantidad de errores.
4. ¿Cómo funciona?
Cuando ejecutamos:
git diff
Git compara:
- El último commit (HEAD)
- Contra los cambios que todavía no fueron agregados al Staging Area.
Es decir, compara:
Último Commit
│
▼
Archivo actual
Y muestra únicamente las diferencias.
No modifica ningún archivo.
No elimina información.
No crea versiones nuevas.
Simplemente realiza una comparación.
5. ¿Cómo interpretar el resultado?
Cuando ejecutamos git diff veremos una salida similar a la siguiente:
<h1>Hola Git</h1>
↓
<h1>Hola Git</h1>
<p>Bienvenidos al curso de Git.</p>Lenguaje del código: HTML, XML (xml)
Git también utiliza algunos símbolos especiales.
Por ejemplo:
+ <p>Bienvenidos al curso de Git.</p>Lenguaje del código: HTML, XML (xml)
El símbolo + indica que esa línea fue agregada.
Si vemos algo como:
- <h1>Hola Git</h1>Lenguaje del código: HTML, XML (xml)
El símbolo – significa que esa línea fue eliminada.
Cuando una línea aparece eliminada y otra agregada, simplemente significa que fue modificada.
6. ¿Cómo usarlo desde la terminal de VS Code?
Una de las formas más comunes de utilizar git diff es desde la terminal integrada de Visual Studio Code.
Sigue estos pasos:
Paso 1. Abre tu proyecto en Visual Studio Code
Abre la carpeta que contiene el repositorio Git. Si todavía no lo has hecho, abre la terminal integrada desde:
Terminal → New Terminal
O utiliza el atajo:
- Windows / Linux:
Ctrl + ÑoCtrl + ` - macOS:
⌃ +«
La terminal se abrirá en la parte inferior de VS Code.
Paso 2. Realiza cambios en un archivo
Por ejemplo, si tienes un archivo llamado index.html:
<h1>Hola Git</h1>Lenguaje del código: HTML, XML (xml)
Modifícalo por:
<h1>Hola Git</h1>
<p>Este es mi primer cambio.</p>Lenguaje del código: HTML, XML (xml)
Guarda el archivo.
Paso 3. Comprueba el estado del repositorio (opcional pero recomendado)
Antes de comparar los cambios, puedes ejecutar:
git status
Obtendrás una salida similar a:
modified: index.htmlLenguaje del código: CSS (css)
Esto indica que Git detectó modificaciones en el archivo.
Paso 4. Ejecuta git diff
Ahora escribe:
git diff
Git mostrará todas las diferencias entre la última versión guardada en el repositorio y los cambios que todavía no han sido agregados al área de preparación.
La salida será similar a:
@@ -1 +1,2 @@
<h1>Hola Git</h1>
+<p>Este es mi primer cambio.</p>Lenguaje del código: HTML, XML (xml)
Paso 5. Interpreta el resultado
La salida de git diff utiliza colores y símbolos para facilitar la lectura:
- Las líneas que comienzan con
+son líneas agregadas. - Las líneas que comienzan con
-son líneas eliminadas. - Las líneas sin símbolo sirven como contexto para entender dónde ocurrió el cambio.
- Git también indica el archivo que se está comparando y la posición donde se realizaron las modificaciones.
Gracias a esta información puedes revisar exactamente qué cambió antes de continuar.
Paso 6. Agrega los cambios cuando estés conforme
Si los cambios son correctos, agrégalos al Staging Area:
git add index.htmlLenguaje del código: CSS (css)
Después podrás crear el commit:
git commit -m "Agrega un nuevo párrafo al archivo index.html"Lenguaje del código: JavaScript (javascript)
Consejo: Es una buena práctica ejecutar git diff antes de utilizar git add. De esta manera revisas todos los cambios realizados, detectas posibles errores y te aseguras de que únicamente enviarás al repositorio el código que realmente deseas guardar. Esto ayuda a mantener un historial de commits mucho más limpio, claro y profesional.
7. ¿Cómo usarlo sin utilizar la terminal?
Visual Studio Code incorpora una excelente integración con Git.
Ni siquiera es necesario escribir comandos para visualizar las diferencias.
El procedimiento es muy sencillo.
Paso 1
Modificar cualquier archivo del proyecto.
Paso 2
Guardar los cambios.
Paso 3
Abrir el panel Source Control.
Paso 4
Aparecerán los archivos modificados.
Paso 5
- Hacer clic sobre cualquiera de ellos.
- VS Code abrirá automáticamente una comparación visual.
- En una columna veremos la versión anterior.
- En la otra veremos la versión actual.
Además:
- Las líneas agregadas aparecen resaltadas.
- Las líneas eliminadas también aparecen marcadas.
- Las modificaciones se muestran claramente.
Para muchos desarrolladores este método resulta incluso más cómodo que utilizar la terminal.
8. Ejemplo utilizando Git Diff
Imaginemos el siguiente proyecto.
Nuestro archivo index.html contiene:
<h1>Mi sitio web</h1>Lenguaje del código: HTML, XML (xml)
Guardamos esta versión.
git add .
git commit -m "Primer commit"Lenguaje del código: JavaScript (javascript)
Más tarde decidimos agregar un menú.
El archivo queda así:
<h1>Mi sitio web</h1>
<nav>
<a href="#">Inicio</a>
<a href="#">Contacto</a>
</nav>Lenguaje del código: HTML, XML (xml)
Sin revisar nada ejecutamos:
git add .
git commit -m "Actualización"Lenguaje del código: JavaScript (javascript)
Todo parece correcto.
Pero…
También habíamos eliminado accidentalmente una línea importante más abajo del documento.
Ese error ya quedó guardado.
En cambio, si antes hubiéramos ejecutado:
git diff
Git habría mostrado exactamente todas las modificaciones realizadas.
Al revisar el resultado habríamos detectado la eliminación accidental y podríamos corregirla antes del commit.
¿Cuál fue el beneficio de usar Git Diff?
En este escenario, git diff permitió:
- Detectar un error antes de guardar una nueva versión.
- Evitar crear un commit con información incorrecta.
- Ahorrar tiempo al no tener que revertir cambios posteriormente.
- Tener mayor seguridad sobre el contenido del commit.
- Confirmar que únicamente se agregaron las modificaciones deseadas.
En proyectos grandes, donde pueden modificarse decenas o cientos de líneas, este comando se vuelve prácticamente indispensable.
9. Diferencias entre Git Diff y Git Status
No.
Aunque suelen utilizarse juntos, cumplen funciones completamente diferentes.
| Git Status | Git Diff |
|---|---|
| Indica qué archivos cambiaron. | Muestra exactamente qué cambió dentro de cada archivo. |
| No muestra el contenido de las modificaciones. | Muestra línea por línea las diferencias. |
| Es un resumen del estado del repositorio. | Es una comparación detallada de los cambios. |
Lo más habitual es ejecutar ambos comandos antes de realizar un commit.
Primero verificamos qué archivos fueron modificados con git status y luego revisamos el contenido de esos cambios mediante git diff.
10. Buenas prácticas
Incorporar git diff a tu flujo de trabajo te ayudará a crear commits más limpios y precisos. Algunas recomendaciones son:
- Revisar siempre los cambios antes de ejecutar
git add. - Leer con atención las líneas agregadas y eliminadas.
- Corregir cualquier modificación accidental antes de crear el commit.
- Utilizar
git statusygit diffde forma complementaria. - Crear commits pequeños y fáciles de entender, después de verificar los cambios con
git diff.
11. Resumen
git diff es una herramienta esencial para cualquier desarrollador que trabaje con Git. Mientras que git status nos informa qué archivos fueron modificados, git diff nos permite inspeccionar el contenido exacto de esos cambios antes de guardarlos.
Incorporar este comando a tu rutina de trabajo reduce errores, mejora la calidad de los commits y facilita el seguimiento del historial del proyecto. A medida que avances en Git descubrirás que revisar los cambios antes de cada commit es una práctica casi obligatoria, especialmente cuando trabajas en proyectos grandes o colaborativos.
