diff-highlight: un mejor diff para Git

El programa de diff predeterminado de Git deja en ocasiones mucho que desear...

Claro, podemos ejecutar git --word-diff para ver mejor los cambios concretos, pero eso nos hace pasar información por alto en ocasiones. En este caso, por ejemplo, no muestra los espacios en blanco que se han añadido delante de las etiquetas HTML.

¿Y con otro programa diff? Veamos diff-highlight...

Este último es mejor, ¿no? ¿Cómo se configura? Descubrí cómo hacerlo en una página web en la que solo entendía los comandos, lo cual fue suficiente. Como ya sé cómo hacerlo, te explico.

Primero, hay que tener una versión de Git igual o superior a la 2.9...

sudo apt update
sudo apt install git
git --version  # Debe ser igual o superior a la 2.9

Aunque ya tengas instalada la versión de Git necesaria, todavía hay que configurar diff-highlight dándole permisos de ejecución y creando un enlace simbólico en un directorio que esté en la variable de entorno $PATH. En este caso, yo creo un enlace simbólico en /usr/local/bin/...

sudo chmod +x /usr/share/doc/git/contrib/diff-highlight/diff-highlight
sudo ln -s /usr/share/doc/git/contrib/diff-highlight/diff-highlight /usr/local/bin/diff-highlight

Ahora podemos ejecutar diff-highlight cuando queramos, sin necesidad de estar usando Git. Para que cada vez que ejecutemos git diff se use este programa, debemos configurar el archivo .gitconfig, ya sea para un proyecto concreto o para usarlo siempre. Como yo quiero usarlo siempre, añado al archivo ~/.gitconfig las siguientes líneas:

[core]
    pager = diff-highlight | less -r

Para mayor comodidad, paso la salida a less a través de una tubería.

¡Ya está! Si por alguna extraña razón tienes nostalgia por el viejo diff, puedes volver a dejar el archivo .gitconfig como estaba.

Comentarios