Doka avatar

Журнал Эмбеддед-Инженера

О микроэлектронике, радиотехнике и хобби

Dmitry Murzinov

2 минут чтения

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

Последние записи

Разделы