Sous git, on a parfois besoin d’avoir la liste des fichiers modifiés par un utilisateur (perte de mémoire, packaging spécifique, mettre en valeur un contributeur ou une contribution, ou… fliquer pour les plus mauvais).

Voilà qui :

  • liste les commits git d’un auteur (git log) ;
  • récupère la liste des fichiers modifiés (show –oneline –name-only $commit_hash) lors de chacun de ces commits (while read commit_hash) ;
  • Affiche le fichier modifié (tail -n+2) en les ordonnant par nom et de façon unique (| sort | uniq)
git log --pretty="%H" --author="julien" | while read commit_hash; do git show --oneline --name-only $commit_hash | tail -n+2; done | sort | uniq

Il ne vous reste plus qu’à utiliser les alias git pour utiliser facilement cette ligne de commande, quitte à la personnaliser (logs de julien les 24 dernières heures par exemple). Pour l’alias, petit rappel :

git config alias.nomdelalias 'commande-a-executer'

et vous pourrez ensuite utiliser

git nomdelalias