GitStats
Heikki Hokkanen написал классную штуку — GitStats. Эта утилита снабжает нас человекочитаемой статистикой из репозитория гит. Конечно какую-то статистику можно получить из командной строки, но это не идёт ни в какое сравнение с визуальным представлением в виде пары графиков и диаграмм.
Утилита GitStats использует CSS для для отображения стиля, шагающего в ногу со временем, и позволяет проводить глубокую кастомизацию внешнего вида финальных отчетов. Собственно, предлагаю ознакомиться с моим форком GitStats: https://github.com/iDoka/gitstats/ . К сожалению, большинство форков страдало лишь изменением файла стилей, однако существенная часть информации формируется, используя gnuplot (против которого лично ничего против не имею). Итак, помимо, полюбившихся мне шрифтов (PT family, Oswald, Montserrat) и цветовой гаммы был подвергнут изменениям вывод графиков через gnuplot, а именно:
• заменен тошнотворный красный для графиков на #00D2FF (другой прекрасный кандидат на эту роль: #14D2C8)
• заменен и уменьшен размер шрифта
• для итогового графика применено сглаживание (графика и шрифты)
• автошкалирование чиcел на осях графика: 18000 → 18k
• ..и наверняка что-то сломал в процессе изменений
Использование
В простейшем случае запуск осуществляется как:
1 | gitstats <путь к git-репо> <путь куда писать репорт> |
Например, при запуске из корня репозитария, если хотим иметь репорт в doc/gitstats (эту папку можно добавить в .gitignore):
1 | gitstats . doc/gitstats |
Кастомные настройки передаются через ключ -с, так например можно передать иное имя проекта (по умолчанию берется имя репо) и свой файл стилей, например:
1 | gitstats -c project_name=bruteforcer -c style=doc/gitstats/gitstats-custom.css . doc/gitstats |
Удобно завести цель в мейкфайле, по которой пускать сбор статистики, у меня она выглядит так:
1 2 3 4 5 | stat: @export GDFONTPATH=/usr/share/fonts/msttcore:/usr/share/fonts/webcore:$GDFONTPATH @rm -rf doc/gitstats/* @gitstats -c project_name=bruteforcer -c style=doc/gitstats/gitstats-span.css . doc/gitstats 1>&/dev/null & @chrome doc/gitstats/index.html |
CLI «GitStats»
Daniel Kvist также пользуется GitStats, но настолько сильно любит командную строку, что написал пару замечательных алиасов для гит, для вывода разукрашенной истории коммитов в консоль. Для этого в файл ~/.gitconfig необходимо добавить следующую секцию:
1 2 3 | [alias] lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white)— %an%C(reset)' --abbrev-commit lg2 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)—%an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative |
Для использования: набрать в консоли git lg или git lg2