Skip to main content

GitStats — замечательная статистика для git-репозитория

GitStats

Heikki Hokkanen написал классную штуку — GitStats. Эта утилита снабжает нас человекочитаемой статистикой из репозитория гит. Конечно какую-то статистику можно получить из командной строки, но это не идёт ни в какое сравнение с визуальным представлением в виде пары графиков и диаграмм.

Утилита GitStats использует CSS для для отображения стиля, шагающего в ногу со временем, и позволяет проводить глубокую кастомизацию внешнего вида финальных отчетов. Собственно, предлагаю ознакомиться с моим форком GitStats: https://github.com/iDoka/gitstats/ . К сожалению, большинство форков страдало лишь изменением файла стилей, однако существенная часть информации формируется, используя gnuplot (против которого лично ничего против не имею). Итак, помимо, полюбившихся мне шрифтов (PT family, Oswald, Montserrat) и цветовой гаммы был подвергнут изменениям вывод графиков через gnuplot, а именно:

• заменен тошнотворный красный для графиков на #00D2FF (другой прекрасный кандидат на эту роль: #14D2C8)

• заменен и уменьшен размер шрифта

• для итогового графика применено сглаживание (графика и шрифты)

• автошкалирование чиcел на осях графика: 18000 → 18k

• ..и наверняка что-то сломал в процессе изменений

Использование

В простейшем случае запуск осуществляется как:

 Например, при запуске из корня репозитария, если хотим иметь репорт в doc/gitstats (эту папку можно добавить в .gitignore):

 Кастомные настройки передаются через ключ -с, так например можно передать иное имя проекта (по умолчанию берется имя репо) и свой файл стилей, например:

 Удобно завести цель в мейкфайле, по которой пускать сбор статистики, у меня она выглядит так:

 

CLI «GitStats»

Daniel Kvist также пользуется GitStats, но настолько сильно любит командную строку, что написал пару замечательных алиасов для гит, для вывода разукрашенной истории коммитов в консоль. Для этого в файл ~/.gitconfig необходимо добавить следующую секцию:

 Для использования: набрать в консоли git lg или git lg2

 

PS: если заметка помогла Вам, поделитесь ей с друзьями или коллегами: