Git
Statistiques Git
Recherche…
Syntaxe
- git log [<options>] [<plage de révision>] [[-] <chemin>]
- git log --pretty = short | git shortlog [<options>]
- git shortlog [<options>] [<plage de révision>] [[-] <chemin>]
Paramètres
Paramètre | Détails |
---|---|
-n , --numbered | Trier la sortie en fonction du nombre de commits par auteur au lieu de l'ordre alphabétique |
-s , --summary | Fournir uniquement un résumé du nombre de validations |
-e , --email | Afficher l'adresse email de chaque auteur |
--format [= <format>] | Au lieu du sujet de la validation, utilisez d'autres informations pour décrire chaque validation. <format> peut être n'importe quelle chaîne acceptée par l'option --format de git log . |
-w [<width> [, <indent1> [, <indent2>]]] | Linewrap la sortie en enveloppant chaque ligne en width . La première ligne de chaque entrée est indentée par le nombre d' indent1 et les lignes suivantes sont indentées par des espaces indent2 . |
<plage de révision> | Afficher uniquement les validations dans la plage de révision spécifiée. Valeur par défaut pour tout l'historique jusqu'à la validation actuelle. |
[ -- ] <chemin> | N'affichez que les commits expliquant comment le path correspondance des fichiers a été créé. Il peut être nécessaire de préfixer les chemins avec "-" pour les séparer des options ou de la plage de révision. |
Commit par développeur
Git shortlog
est utilisé pour résumer les sorties du journal git et regrouper les commits par auteur.
Par défaut, tous les messages de validation sont affichés, mais l'argument --summary
ou -s
ignore les messages et fournit une liste d'auteurs avec leur nombre total de validations.
--numbered
ou -n
change l'ordre de l'ordre alphabétique (par auteur croissant) au nombre de commits décroissant.
git shortlog -sn #Names and Number of commits
git shortlog -sne #Names along with their email ids and the Number of commits
ou
git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'
Remarque: les engagements de la même personne ne peuvent pas être regroupés lorsque leur nom et / ou leur adresse électronique ont été orthographiés différemment. Par exemple, John Doe
et Johnny Doe
apparaîtront séparément dans la liste. Pour résoudre ce problème, reportez-vous à la fonctionnalité .mailmap
.
Commit par date
git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c
Nombre total de commits dans une succursale
git log --pretty=oneline |wc -l
Liste de chaque branche et la date de sa dernière révision
for k in `git branch -a | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort
Lignes de code par développeur
git ls-tree -r HEAD | sed -Ee 's/^.{53}//' | \
while read filename; do file "$filename"; done | \
grep -E ': .*text' | sed -E -e 's/: .*//' | \
while read filename; do git blame --line-porcelain "$filename"; done | \
sed -n 's/^author //p' | \
sort | uniq -c | sort -rn
Liste tous les commits dans un joli format
git log --pretty=format:"%Cgreen%ci %Cblue%cn %Cgreen%cr%Creset %s"
Cela donnera un bon aperçu de tous les commits (1 par ligne) avec la date, l'utilisateur et le message de validation.
L'option --pretty
comporte de nombreux espaces réservés, chacun commençant par %
. Toutes les options peuvent être trouvées ici
Trouver tous les dépôts de Git locaux sur ordinateur
Pour répertorier tous les emplacements du dépôt git sur votre ordinateur, vous pouvez exécuter les opérations suivantes:
find $HOME -type d -name ".git"
En supposant que vous avez locate
, cela devrait être beaucoup plus rapide:
locate .git |grep git$
Si vous avez gnu locate
ou mlocate
, cela sélectionnera uniquement les mlocate
git:
locate -ber \\.git$
Affiche le nombre total de commits par auteur
Pour obtenir le nombre total de validations que chaque développeur ou contributeur a effectuées sur un référentiel, vous pouvez simplement utiliser le git shortlog
:
git shortlog -s
qui fournit les noms d’auteur et le nombre d’engagements de chacun.
De plus, si vous souhaitez que les résultats soient calculés sur toutes les branches, ajoutez l' --all
à la commande:
git shortlog -s --all