Sinossi
git shortlog [-n] [-s] [-e] [<revision-range>]
Descrizione
Il comando git shortlog raggruppa i commit per autore, producendo riassunti concisi adatti per note di rilascio, liste di contributori e veloci panoramiche "chi ha fatto cosa". Per default stampa il nome di ogni autore seguito dalle righe oggetto dei suoi commit nel range dato.
Modalità comuni includono -sn (riassunto, ordinato per conteggio) per liste "top contributors" e --no-merges per ignorare i merge commit. Combinato con un range come v1.0..v2.0, shortlog è il modo più veloce per redigere i credit delle note di rilascio.
Nell'uso quotidiano, git shortlog si integra con alias e CI.
Capire il modello dati di Git aiuta a prevedere i risultati.
Opzioni comuni
| Opzione | Descrizione |
|---|---|
-s, --summary | Mostra solo i conteggi per autore. |
-n, --numbered | Ordina autori per numero di commit. |
-e, --email | Include indirizzi email autore. |
--no-merges | Esclude merge commit. |
--group=<type> | Raggruppa per author, committer o trailer. |
-w[<width>] | Manda a capo le righe oggetto. |
Esempi
git shortlog -sn
# Top contributors di tutti i tempi, con conteggi
git shortlog -sne v1.0..v2.0
# Contributori tra due release, con email
git shortlog --no-merges HEAD~50..HEAD
# Oggetti raggruppati per autore per gli ultimi 50 commit
git shortlog --group=trailer:co-authored-by
# Raggruppa per trailer Co-authored-by
Errori comuni
Identità di commit multiple per la stessa persona (email diverse, capitalizzazioni di nome diverse) gonfiano il conteggio dei contributori. Un file .mailmap alla radice del repo le canonicalizza. Dimenticare --no-merges può attribuire molti merge commit ai maintainer del progetto.
Comandi correlati
git log, git blame, git describe, git tag