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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow