Git protip : un diff sympa et efficace dans le terminal
Par Maxime Bréhin • Publié le 22 août 2022 • 1 min

Le diff classique fourni par Git nous donne tout un tas d’informations dont une partie n’est pas essentielle et a tendance à polluer l’affichage dans le terminal. Les points gênants sont principalement l’absence de démarcation claire entre fichiers et les modifications sur une ligne dont la différence est affichée sous forme de deux lignes (suppression/ajout), on peine alors à distinguer les éléments modifiés sur la ligne concernée (rappelle-toi le jeu des 7 différences).

Le diff dans le terminal manque de clarté

On a regardé du côté des options de la commande diff et de la configuration, mais rien n’était pleinement satisfaisant. On a alors cherché un outil tiers qui nous facilite la vie dans le terminal, qui soit facile à installer et utiliser. C’est là qu’on a découvert diff-so-fancy.

L’installation se fait rapidement en une fois sur chaque machine. Différents procédés d’installation sont possibles :

Ma méthode préférée — car c’est la plus portable — utilise npm :

npm install --global diff-so-fancy

Une fois l’installation faite, il faut demander à Git d’utiliser cet outil :

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

On peut ensuite personnaliser les couleurs et certains comportements, mais le comportement par défaut est très largement suffisant.

Quand on a tout ça, voilà le type d’affichage qu’on obtient :

Le diff est bien plus sexy avec diff-so-fancy

Maintenant, à toi de jouer 😉 !

Tu veux aller plus loin et maîtriser pleinement les fondamentaux de Git ou être accompagné pour garantir la qualité de tes projets grâce à une bonne mise en place de Git ? On peut t’aider ou te former, il suffit de nous décrire ton besoin !