Git protip : vérifier avant de commiter
Par Maxime Bréhin • Publié le 19 décembre 2022 • 1 min

On a vu dans nos articles précédents qu’on pouvait produire des commits atomiques en ajoutant parfois de manière chirurgicale les contenus (parties de fichiers modifiés par exemple).

Nous avions également évoqué comment visualiser les fichiers et leurs états, notamment les fichiers ajoutés / prêts à être commités, dans le protip sur la coloration du git status. Mais nous n’avons pas vu comment visualiser les contenus des modifications qu’on s’apprête à commiter.

L’important ici n’est pas tant la commande que la mise en place d’une (bonne) habitude : vérifier avant de valider. La commande est très simple, on veut voir les différences des fichiers qui ont été stagées (staged en anglais) :

git diff --staged

On peut ensuite filtrer en ajoutant des options supplémentaires (également disponibles sans l’option --staged). Par exemple lors de l’ajout de nouveaux fichiers, obtenir leur diff peut gêner l’affichage si on souhaite visualiser les modifications des autres fichiers. Même chose avec les fichiers supprimés. On peut alors soit passer uniquement les chemins des fichiers ou motifs à cibler :

git diff --staged *.js

…soit utiliser l’option de filtrage permettant de cibler les types de modifications qui nous intéressent :

# Ici on demande uniquement les fichiers modifiés,
# donc ni les ajouts ni les suppressions
git diff --staged --diff-filter=M
# Équivalent en "négation" (pas les ajouts "a", pas les suppressions "d")
# git diff --staged --diff-filter=ad

Avec ça tu ne devrais plus commiter des choses inattendues 😉. Et si l’affichage classique dans le terminal ne te convient pas, va voir notre article sur diff-so-fancy.

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 !