Existe-t-il une commande que je peux invoquer qui seront pris en compte les lignes modifiées par un auteur spécifique dans un dépôt Git ? Je sais qu’il doit y avoir des façons de compter le nombre de validations comme Github accomplit cette tâche pour leur graphique de l’Impact. Merci d’avance !
Réponses
Trop de publicités?La sortie de la commande suivante devrait être relativement facile d'envoyer de script pour ajouter le total:
git log --author="<authorname>" --oneline --shortstat
Cela donne des stats de tous les commits sur l'actuel CHEF. Si vous souhaitez ajouter des stats dans d'autres branches que vous devrez fournir comme des arguments d' git log
.
Pour passer à un script, en supprimant même le "oneline" format qui peut être fait avec un vide format de journal, et comme le faisait remarquer par Jakub Narębski, --numstat
est une autre alternative. Il génère un fichier plutôt que par la ligne de statistiques mais il est encore plus facile à analyser.
git log --author="<authorname>" --pretty=tformat: --numstat
J'ai trouvé le suivant à être utile pour voir celle qui avait le plus de lignes qui sont actuellement dans la base de code:
git ls-files -z | xargs -0n1 git blame -w | ruby -n -e '$_ =~ /^.*\((.*?)\s[\d]{4}/; puts $1.strip' | sort -f | uniq -c | sort -n
Les autres réponses ont principalement porté sur des lignes de changé s'engage, mais s'engage à ne pas survivre et se sont écrasés, ils ont été le taux de désabonnement. Le ci-dessus incantation vous reçoit aussi tous les participants triés par lignes au lieu d'un seul à la fois. Vous pouvez ajouter des options à git blâmer (-C -M) pour obtenir certains des meilleurs numéros de prendre le fichier de mouvement et de la ligne de mouvement entre en compte les fichiers, mais la commande peut exécuter un beaucoup plus longtemps si vous le faites.
Aussi, si vous êtes à la recherche pour les lignes modifiées dans tous les commits pour tous les participants, le petit script est utile:
Pour compter le nombre de commet par un auteur donné (ou tous les auteurs) sur une branche, vous pouvez utiliser git-shortlog; Voir en particulier son et
options, par exemple lorsqu’il est exécuté sur le dépôt git :