git shortlog

Inspection et comparaison

Résumer l’historique par auteur


La commande 'git shortlog' regroupe les commits par auteur : chaque auteur avec son nombre de commits et leurs sujets. Elle sert aux notes de version et aux listes de contributeurs. Avec -s seuls les nombres s’affichent, -n trie par nombre de commits et -e ajoute les e-mails. Dans un terminal elle résume la branche actuelle ; dans les scripts, nommez la révision (git shortlog HEAD).

Synopsis

git shortlog [<options>] [<revision-range>] [[--] <path>...]
[ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option

Options

Cliquez sur une option pour la déplier

Débutant (3)

Afficher seulement le nombre de commits par auteur.

RecommandéUne ligne par auteur avec le nombre de commits

Exemple

git shortlog -s

Trier les auteurs par nombre de commits au lieu de leur nom.

RecommandéClasser les auteurs par nombre de commits

Exemple

git shortlog -sn

Afficher l’adresse e-mail de chaque auteur.

Si nécessaireDistinguer des auteurs du même nom

Exemple

git shortlog -sne

Choisir la bonne option

shortlog ou log

Regroupement

CommandeGroupé par
git log --onelineDate (le plus récent d’abord)
git shortlogAuteur

Exemples

Par auteur

git shortlog

Chaque auteur avec les sujets de ses commits.


Classement

git shortlog -sn

Nombre de commits, les plus actifs d’abord.


Depuis une version

git shortlog v1.0..HEAD

Qui a fait quoi depuis v1.0 — les notes de version.

Exemples de workflows

1
git shortlog v1.0..v1.1

Changements groupés par auteur

2
git shortlog -sn v1.0..v1.1

Remercier les contributeurs

Dépannage

Aucune sortie

Cause : Pas dans un terminal, donc shortlog lit l’entrée standard

Donnez une révision : git shortlog HEAD

Astuces et pièges

Bonnes pratiques

  • ✓Tenez un .mailmap pour qu’une personne ne soit comptée qu’une fois.

Erreurs fréquentes

  • ✗Obtenir une sortie vide dans un script : sans révision, shortlog lit alors l’entrée standard — passez HEAD.
  • ✗Compter deux fois la même personne parce qu’elle a utilisé deux e-mails — ajoutez un fichier .mailmap.

FAQ

A:

Oui, sauf si vous ajoutez --no-merges.