Este artículo de Nick Janetakis describe una configuración para mejorar la visualización de diffs (diferencias) en Git, utilizando las herramientas Delta, fzf y un script de shell personalizado. El objetivo es facilitar la revisión de código, especialmente en el contexto de Pull Requests (PRs).
¿Qué es y por qué es útil? Los diffs son esenciales para entender los cambios realizados en un proyecto de código. Delta es una herramienta de línea de comandos (CLI) que mejora significativamente la legibilidad de estos diffs, mostrando cambios a nivel de carácter y palabra con colores distintivos. fzf es un buscador interactivo de línea de comandos que permite navegar rápidamente por archivos y resultados. El script 'gd' combina estas herramientas para crear una experiencia de visualización de diffs más eficiente.
¿Cómo funciona? La configuración implica varios pasos: primero, instalar Delta y fzf (generalmente a través del gestor de paquetes de tu sistema operativo). Luego, configurar Git para que utilice Delta en comandos como git show, git diff, git add -p y git blame. El script 'gd' utiliza fzf para presentar una interfaz interactiva que permite seleccionar rápidamente los archivos a revisar. Un aspecto clave es la variable de entorno DELTA_FEATURES="diff-so-fancy", que activa una visualización de diffs más detallada y atractiva. El script 'gd' pasa los argumentos directamente a git diff, lo que significa que comandos existentes como git diff --staged siguen funcionando sin modificaciones.
Casos de uso: El principal caso de uso es la revisión de Pull Requests. El script 'gd' permite comparar la rama actual con la rama principal (main) de forma rápida e interactiva. También se puede integrar con ripgrep (rg) para resaltar los resultados de la búsqueda dentro de los diffs. Además, Janetakis ha creado un script ('gl') para navegar y buscar en el historial de commits de Git.
Consideraciones: La configuración requiere la instalación de Delta y fzf, lo que puede ser un obstáculo para algunos usuarios. Aunque el artículo proporciona instrucciones para Arch Linux, Debian, Ubuntu y macOS, la instalación en otros sistemas operativos puede requerir pasos adicionales. La configuración se realiza principalmente a través de archivos de configuración de shell y Git, por lo que es importante comprender cómo funcionan estos archivos. La principal alternativa es utilizar la herramienta de diff integrada en Git, pero esta carece de la funcionalidad mejorada proporcionada por Delta y fzf.
