GitStats
Heikki Hokkanen написал классную штуку - GitStats. Эта утилита снабжает нас человекочитаемой статистикой из репозитория гит. Конечно какую-то статистику можно получить из командной строки, но это не идёт ни в какое сравнение с визуальным представлением в виде пары графиков и диаграмм.
Утилита GitStats использует CSS для для отображения стиля, шагающего в ногу со временем, и позволяет проводить глубокую кастомизацию внешнего вида финальных отчетов. Собственно, предлагаю ознакомиться с моим форком GitStats: https://github.com/iDoka/gitstats/ . К сожалению, большинство форков страдало лишь изменением файла стилей, однако существенная часть информации формируется, используя gnuplot (против которого лично ничего против не имею). Итак, помимо, полюбившихся мне шрифтов (PT family, Oswald, Montserrat) и цветовой гаммы был подвергнут изменениям вывод графиков через gnuplot, а именно:
- заменен тошнотворный красный для графиков на #00D2FF (другой прекрасный кандидат на эту роль: #14D2C8)
- заменен и уменьшен размер шрифта
- для итогового графика применено сглаживание (графика и шрифты)
- автошкалирование чиcел на осях графика: 18000 → 18k
- ..и наверняка что-то сломал в процессе изменений
Использование
В простейшем случае запуск осуществляется как:
gitstats <путь к git-репо> <путь куда писать репорт>
Например, при запуске из корня репозитария, если хотим иметь репорт в doc/gitstats (эту папку можно добавить в .gitignore):
gitstats . doc/gitstats
Кастомные настройки передаются через ключ -с, так например можно передать иное имя проекта (по умолчанию берется имя репо) и свой файл стилей, например:
gitstats -c project_name=bruteforcer -c style=doc/gitstats/gitstats-custom.css . doc/gitstats
Удобно завести цель в мейкфайле, по которой пускать сбор статистики, у меня она выглядит так:
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 необходимо добавить следующую секцию:
[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