Генерация статистики из репозитория Git

Я ищу хорошие инструменты/скрипты, которые позволяют мне генерировать несколько статистических данных из репозитория git. Я видел эту функцию на некоторых сайтах хостинга кода, и они содержали такую ​​информацию, как...

  • фиксируется на автора
  • фиксируется в день/неделя/год/и т.д.
  • строки кода с течением времени
  • графы
  • ... гораздо больше

В принципе, я просто хочу понять, насколько мой проект растет с течением времени, какой разработчик выполняет большинство кода и т.д.

Ответ 1

Кроме GitStats (генератор статистики git), упомянутого xyld, написанного на Python и требующего Gnuplot для графиков, есть также

  • gitstat (SourceForge) (веб-интерфейс статистики git), написанный на PHP и Perl,
  • Git Statistics, aka gitstats (структура метрик, предназначенная для сбора статистики по репозиториям git), написанная на Python, результат проекта git-statistics на Google Summer of Code 2008 Это не веб-приложение
  • gitinspector - довольно новый инструмент Python на основе CLI для создания хороших отчетов
  • Hercules - нативное приложение без зависимостей, написанное на Go, которое специализируется на продвинутых типах анализа.

Ответ 2

фиксируется на автора

git shortlog -s -n 

Ответ 3

Я делаю генератор статистики репозитория git в ruby, он называется git_stats.

Вы можете найти примеры, сгенерированные для некоторых репозиториев на странице .

Вот список того, что он может сделать:

  • Общая статистика
    • Всего файлов (текстовых и двоичных)
    • Всего строк (добавлено и удалено)
    • Всего совершает
    • Авторы
  • Активность (всего и на автора)
    • Выполняется по дате
    • Выполняется по часам дня
    • Выполняется по дням недели
    • Выполняется по часам недели
    • Выполняется по месяцам года
    • Выполняется по годам
    • Выполняется по годам и месяцам
  • Авторы
    • Выполняется по автору
    • Линии, добавленные автором
    • Линии, удаленные автором
    • Линии, измененные автором
  • Файлы и строки
    • По дате
    • По расширению

Если у вас есть идея, что добавить или улучшить, пожалуйста, дайте мне знать, я буду признателен за любую обратную связь.

Ответ 4

Я попробовал http://gitstats.sourceforge.net/, начало очень интересно.

Как только git clone git://repo.or.cz/gitstats.git будет выполнен, перейдите в эту папку и скажите gitstats <git repo location> <report output folder> (создайте новую папку для отчета, так как это создает много файлов)

Вот быстрый список статистики из этого:

  • деятельность
    • час дня
    • день недели
  • авторы
    • Список авторов
    • Автор месяца
    • Автор года
  • Файлы
    • Количество файлов по дате
    • Расширения
  • линии
    • Линии кода
  • теги

Ответ 5

Быстрый поиск в Google приведет меня к: http://gitstats.sourceforge.net/

Вы пробовали этот проект? Я уверен, что есть похожие проекты.

Ответ 6

И если вы предпочитаете размещенное решение, вы должны проверить Open Hub (ранее Ohloh.net). Это хорошо, но не ожидайте больших статистических данных.

Ответ 7

Если ваш проект находится на GitHub, вы теперь (апрель 2013) имеете Pulse (см. Получить скорость с помощью Pulse"):

Он более ограничен и не отображает всю статистику, которая вам может понадобиться, но доступна для любого проекта GitHub.

Pulse - отличный способ узнать о недавней активности в проектах.
Pulse покажет вам, кто активно совершает и что изменилось в ветке проекта по умолчанию:

Pulse

Вы можете найти ссылку слева от панели навигации.

Link

Обратите внимание, что API не извлекает (пока) API, чтобы извлечь эту информацию.

Ответ 8

git-bars может показать вам "фиксацию за день/неделю/год/и т.д.".

Вы можете установить его с помощью pip install git-bars (ср. https://github.com/knadh/git-bars)

Вывод выглядит так:

$ git-bars -p month
370 commits over 19 month(s)
2019-10  7    ▀▀▀▀▀▀
2019-09  36   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-08  7    ▀▀▀▀▀▀
2019-07  10   ▀▀▀▀▀▀▀▀
2019-05  4    ▀▀▀
2019-04  2    ▀
2019-03  28   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-02  32   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-01  16   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-12  41   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-11  52   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-10  57   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-09  37   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-08  17   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-07  1    
2018-04  7    ▀▀▀▀▀▀
2018-03  12   ▀▀▀▀▀▀▀▀▀▀
2018-02  2    ▀
2016-01  2    ▀