Back

Cómo mejorar la legibilidad de git diff con diff-so-fancy

Cómo mejorar la legibilidad de git diff con diff-so-fancy

Leer los diff de Git en bruto puede ser agotador. La salida estándar es densa, a menudo llena de signos más y menos, y difícil de escanear rápidamente. Si revisas cambios con frecuencia, hacer que los diffs sean más legibles puede ahorrarte tiempo y ayudarte a detectar problemas más rápido.

En este artículo, te mostraremos cómo mejorar la legibilidad de Git diff usando diff-so-fancy — una herramienta diseñada para hacer que los diffs sean más agradables a la vista.

Puntos Clave

  • diff-so-fancy mejora la legibilidad de Git diff con mejor formato y colorización
  • Instalarlo y configurarlo toma solo unos pocos pasos
  • Los diffs claros facilitan la revisión precisa de cambios

Por qué importa la legibilidad de Git diff

Cuando ejecutas git diff, Git muestra los cambios con símbolos como + y - al comienzo de las líneas. Aunque es funcional, puede ser visualmente duro, especialmente para cambios grandes de código.

Los diffs difíciles de leer pueden causar errores no detectados, revisiones de código más lentas y fatiga mental. Mejorar la forma en que Git muestra los diffs es un pequeño cambio con un gran beneficio en la productividad diaria.

Lectura relacionada: Cómo crear y usar alias de Git para un flujo de trabajo más rápido

¿Qué es diff-so-fancy?

diff-so-fancy es una pequeña utilidad que toma la salida de Git diff y la formatea para una mejor legibilidad. Elimina marcadores extras, resalta los cambios más claramente y estructura la salida para que puedas revisar el código más rápido.

Mejoras clave:

  • Adiciones y eliminaciones más claras
  • Palabras cambiadas dentro de líneas enfatizadas
  • Encabezados de sección más limpios
  • Agrupación de bloques más fácil de escanear

Cómo instalar diff-so-fancy

Puedes instalar diff-so-fancy fácilmente a través de gestores de paquetes comunes.

En macOS con Homebrew:

brew install diff-so-fancy

En Ubuntu o distribuciones basadas en Debian:

sudo apt install diff-so-fancy

O clonarlo directamente desde GitHub:

git clone https://github.com/so-fancy/diff-so-fancy.git

Asegúrate de que diff-so-fancy esté en tu path del sistema después de la instalación.

Cómo configurar Git para usar diff-so-fancy

Una vez instalado, necesitas indicarle a Git que canalice los diffs a través de diff-so-fancy.

Configúralo con los siguientes comandos de configuración de Git:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"

Esta configuración:

  • Canaliza todos los diffs a través de diff-so-fancy
  • Mantiene intacta la salida de color
  • Hace que el comportamiento de desplazamiento en less sea limpio y receptivo

También puedes crear un alias de Git si prefieres llamarlo manualmente. Ejemplo:

git config --global alias.dsf "!git diff --color | diff-so-fancy"

Ahora puedes ejecutar git dsf en cualquier momento para ver un diff más elegante.

Antes y después: viendo la diferencia

Salida estándar de git diff:

- old line of code
+ new line of code

Con diff-so-fancy:

  • Solo se resaltan las partes cambiadas de una línea
  • Los nombres de archivo y encabezados de sección son más fáciles de escanear
  • Los cambios están estructurados de una manera que sigue naturalmente tu mirada

Esto te ayuda a entender rápidamente qué cambió, sin ruido adicional.

Conclusión

Las pequeñas mejoras en tu flujo de trabajo diario con Git se acumulan con el tiempo. Configurar Git con diff-so-fancy hace que tus diffs sean más fáciles de leer, las revisiones más rápidas y los errores menos probables. Si te gustó esta mejora, también podrías encontrar valor en Usar atajos de URL de Git para acelerar la clonación de repositorios.

Preguntas frecuentes

No. Solo cambia cómo se muestran los diffs. Tu historial y datos de Git permanecen iguales.

Sí. Puedes desconfigurar la configuración de Git o llamar a `git --no-pager diff` para evitarlo temporalmente.

Principalmente mejora las salidas de `git diff` y `git log -p`. Otros comandos permanecen sin cambios.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers