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

Mise à jour le 23 septembre 2022, 09:51

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 😉 !

Ne t’arrête pas là !

On a tout plein d’articles et de vidéos existants et encore beaucoup à venir. Pour ne rien manquer, tu devrais penser à t’abonner à notre newsletter, à notre chaîne YouTube, nous suivre sur Twitter ou encore mieux, à suivre notre formation du feu de dieu 🔥 : Git Total !

Découvrez nos cours vidéo ! 🖥

Nos cours vidéo sont un complément idéal et bon marché à nos articles techniques et formations présentielles. Autour de Git, de JavaScript et d’autres sujets, retrouvez des contenus de très grande qualité à des prix abordables, spécialement conçus pour lever vos plus gros points de blocage.