vendredi 9 janvier 2026

Compter les lignes d'un projet git

Ceci est un blog-note, il serait donc dommage de ne pas en profiter pour... Prendre des notes !

J'ai récemment voulu voir où j'en étais quant à la quantité de code produite pour un projet. Simple curiosité, pour me rendre compte.
Comment faire ? Comme ceci :

git ls-file | xargs wc-l

Bien sûr, si vous voulez plus de détail, comme le nombre de lignes des fichiers php, vous pouvez rajouter un grep.

git ls-file | grep '.php' | xargs wc -l

C'est tout.

Edit du 17 janvier 2026 : On me souffle dans l'oreillette que Tokei fait aussi très bien le boulot ! Merci à Ollivier Robert pour la découverte.

lundi 11 septembre 2023

Tester localement et facilement une Pull Request

Lorsqu'on travaille sur un projet plus ou moins communautaire, ou à minima en équipe, il est nécessaire de tester les PRs avant de les valider, et donc de les intégrer. Seulement, aller chercher la branche distante du fork de la personne qui a fait la PR se révèle très fastidieux. Il existe néanmoins une solution qui permet de gagner pas mal de temps.


Nous allons ici voir comment récupérer directement le contenu de la PR dans la branche dans laquelle nous souhaitons la fusionner.

On se place dans un premier temps sur la branche concernée :

$ git checkout master

On la met à jour :

$ git pull origin master

On récupère ensuite l'ID de la Pull Request qu'on veut tester. Il s'agit du numéro que l'on trouve dans l'URL de la PR, ou le numéro qui est précédé d'un # sur la page de la PR.
La commande suivante nous permet alors de la récupérer dans une nouvelle branche :

$ git fetch origin pull/<ID>/head:<Nom de la branche>

Et basculez sur la branche en question.

$ git checkout <Nom de la branche>

Par exemple, pour créer la branche "TestPR325" qui correspond à la PR ID 325, il suffit d'utiliser :

$ git fetch origin/pull/325/head:TestPR325
$ git checkout TestPR325

Une fois vos tests terminés, retournez sur la branche de destination des PR, et recommencez la manipulation.

$ git checkout master

mardi 29 août 2023

Cloner tous les dépôts d'une même organisation

Il peut arriver que l'on ait besoin de cloner d'un coup tous les dépôts d'une même organisation. Ne me demandez pas pourquoi, mais ça peut arriver...


Pour commencer, nous aurons ici besoin de github-cli.

Installation avec Homebrew (MacOS oblige) :

$ brew install gh

On s'authentifie avec un jeton d'authentification :

$ gh auth login

On va maintenant se baser sur la commande suivante pour lister les dépôts de l'organisation :

$ gh repo list <nom de l'organisation> --limit 100 # N'est valable que s'il y a moins de 100 dépôts. Le nombre peut être adapté.

On utilise la sortie dans un while pour cloner le dépôt :

$ gh repo list <nom de l'organisation> --limit 70 | while read -r repo _; do gh repo clone "$repo" "$repo"; done

That's it !