Git protip : suivre les évolutions d’une fonction avec log -L
Par Maxime Bréhin • Publié le 10 octobre 2022 • 2 min

This page is also available in English.

N’as-tu jamais souhaité lister seulement les évolutions au sein d’une fonction ? Ça serait génial, on pourrait alors mieux déterminer l’origine d’un bug ou avoir une vision fine du travail réalisé au fil de l’eau.

Peut-être savais-tu déjà que tu peux obtenir la liste des commits qui modifient un fichier donné :

git log <chemin-de-fichier>

log classique pour le suivi d’un fichier

Je te présente sa version évoluée avec l’option -L !

# git log -L :<nom-de-fonction>:<chemin-de-fichier>
git log -L :sayHello:demo.js

log -L pour le suivi des évolutions d’une fonction dans fichier

Cette option a la particularité de ne permettre l’analyse que d’un fichier à la fois, mais surtout, d’une portion choisie, ici à l’aide du nom de la méthode/fonction recherchée. On obtient alors le détail, commit après commit, des évolutions de ce bloc (et rien d’autre, ni dans ce fichier, ni ailleurs).

En réalité, ça ne fonctionnera pas toujours parfaitement et il est possible dans certains cas de figures que tu aies plus que ta fonction (en gros, ça peut déborder par le bas).

Je te recommande alors de passer plutôt par cette autre syntaxe d’appel, surtout si tu as le fichier sous les yeux pour obtenir rapidement les numéros de lignes de début et de fin de la fonction.

# git log -L <num-ligne-de-début>,<num-ligne-de-fin>:<chemin-de-fichier>
git log -L 5,20:demo.js

Elle identifie la portion actuellement entre ces lignes, et ajuste l’intervalle associé pour chaque commit historique analysé, en fonction des changements pertinents. L’avantage, qu’écris-je, la puissance de cette syntaxe est qu’elle fonctionne avec n’importe quoi, tu n’es pas cantonné·e à la seule analyse de fonctions/de méthodes 🌈🦄 !

Des astuces en veux-tu en voilà !

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.