web-dev-qa-db-fra.com

Générer des statistiques à partir du référentiel Git

Je recherche de bons outils/scripts qui me permettent de générer quelques statistiques à partir d'un référentiel git. J'ai vu cette fonctionnalité sur certains sites d'hébergement de code, et ils contenaient des informations telles que ...

  • commits par auteur
  • commits par jour/semaine/année/etc.
  • lignes de code au fil du temps
  • des graphiques
  • ... beaucoup plus

En gros, je veux simplement avoir une idée de la croissance de mon projet, du développeur qui utilise le plus de code, etc.

333
BastiBen

À côté de GitStats ( générateur de statistiques d'historique git ) mentionné par xyld , écrit en Python et nécessitant Gnuplot pour les graphes, il y a aussi

  • gitstat ( SourceForge ) projet ( interface de statistiques git basée sur le Web ), écrit en PHP et Perl,
  • Git Statistics , alias gitstats ( un cadre de métriques conçu pour collecter des statistiques sur les référentiels git ), écrit en Python, résultat de - projet git-statistics sur Google Summer of Code 2008 Ceci n'est pas une application Web
  • gitinspector Est un outil relativement nouveau Python basé sur la CLI pour générer des rapports Nice
  • Hercules - application native sans dépendances, écrite en Go, spécialisée dans les types d'analyse avancés.
218
Jakub Narębski

commits par auteur

git shortlog -s -n 
243
Ruslan Kabalin

Je fais un générateur de statistiques de référentiel git en Ruby, il s'appelle git_stats .

Vous pouvez trouver des exemples générés pour certains référentiels sur page du projet .

Voici une liste de ce qu'il peut faire:

  • Statistiques générales
    • Nombre total de fichiers (texte et binaire)
    • Nombre total de lignes (ajoutées et supprimées)
    • Total des commits
    • Auteurs
  • Activité (total et par auteur)
    • S'engage par date
    • Commit par heure de la journée
    • Commit par jour de la semaine
    • Commit par heure de la semaine
    • Commit par mois de l'année
    • Engagements par année
    • S'engage par année et mois
  • Auteurs
    • Commits par auteur
    • Lignes ajoutées par l'auteur
    • Lignes supprimées par l'auteur
    • Lignes modifiées par l'auteur
  • Fichiers et lignes
    • Par date
    • Par extension

Si vous avez une idée de ce qu'il faut ajouter ou améliorer, merci de me le faire savoir, je vous serais reconnaissant de vos commentaires.

71
tomgi

J'ai essayé http://gitstats.sourceforge.net/ , les départs sont très intéressants.

Une fois que git clone git://repo.or.cz/gitstats.git est terminé, allez dans ce dossier et dites gitstats <git repo location> <report output folder> (créez un nouveau dossier pour le rapport car il génère beaucoup de fichiers)

Voici une liste rapide de statistiques à partir de ceci:

  • activité
    • heure du jour
    • jour de la semaine
  • auteurs
    • Liste des auteurs
    • Auteur du mois
    • Auteur de l'année
  • des dossiers
    • Nombre de fichiers par date
    • Les extensions
  • lignes
    • Lignes de code
  • mots clés
39
Jeevan Pingali

Une recherche rapide sur Google m'a conduit à: http://gitstats.sourceforge.net/

Avez-vous essayé ce projet? Je suis sûr qu'il y a des projets similaires.

15
dlamotte

Et si vous préférez une solution hébergée, vous devriez jeter un œil à Open Hub (anciennement Ohloh.net). C'est agréable, mais ne vous attendez pas à de grandes statistiques.

4
lzap

Si votre projet est sur GitHub, vous avez maintenant (avril 2013) Pulse (voir " Obtenez jusqu'à vitesse avec Pulse "):

Il est plus limité et n'affiche pas toutes les statistiques dont vous pourriez avoir besoin, mais il est facilement disponible pour tout projet GitHub.

Pulse est un excellent moyen de découvrir l'activité récente des projets.
Pulse vous montrera qui a été activement engagé et ce qui a changé dans la branche par défaut d'un projet :

Pulse

Vous pouvez trouver le lien à gauche de la barre de navigation .

Link

Notez qu'il n'y a pas (encore) d'API pour extraire cette information.

4
VonC