Как подсчитать количество написанного кода в репозитории по авторам?
Задача узнать, кто из авторов сколько кода написал. Я знаю, что это необъективная информация для подсчета вклада в проект, но все же хоть какая-то статистика. Если знаете какие-то решения, актуальные на данный момент — прошу поделиться. Пробовал пользоваться вот этим пакетом, но он устарел, т.к. был написан более семи лет назад. Более новых google не выдал. Есть команда git log —numstat , но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил?
Отслеживать
68k 218 218 золотых знаков 79 79 серебряных знаков 221 221 бронзовый знак
задан 11 мар 2016 в 12:08
1,349 1 1 золотой знак 16 16 серебряных знаков 38 38 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Есть команда git log —numstat , но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил?
так на основании выдаваемой информации можно подсчитать, сколько строк добавил и сколько удалил (именно такие цифры выдаёт git log —numstat ) каждый автор.
примерно вот так (это я быстренько «набросал», можно и улучшить и оптимизировать):
$ git log --pretty=format:==%an --numstat | \ sed -r '/==.*/;/^$/D;s/-/0/g;s/\t[^\t]+$//;G;s/(.*)\n(.*)/\2\t\1/' \ | awk -F '\t' ' END >'
для упомянутого вами проекта она выдаёт:
Caue Guerra 361 168 Pedro Matiello 729 238
для проекта https://github.com/processone/ejabberd вот такую статистику выдаёт:
Alexey Shchepin 121555 48334 Andreas Köhler 429 335 Antonio Murdaca 63 10 Anton Ryzhov 0 1 Arno B 22 5 Badlop 310727 228783 Balázs Galambosi 2 2 Ben Langfeld 87 110 bLaDe 1 1 Christian Dröge 17 12 Christopher A. Stelma 1 1 Christophe Romain 42755 54608 Christopher tofu Zorn 128 96 colm 8 3 Cor Cornelisse 2 2 Denis Kurochkin 600 2 ekhramtsov 44 4 Elias Rohrer 24 87 Emilio Bustos 82 52 Evgeniy Khramtsov 229257 210283 Evgeny Khramtsov 0 15 Feotov Daniil 67 6 Geoff Cant 279 163 GreenLunar 66 98 Gu Feng 7 3 HAMANO Tsukasa 390 320 Holger Wei 2 0 Holger Weiss 5665 3161 iulianlaz 13 1 jabber 5 0 Jamie Nguyen 401 532 Janusz Dziemidowicz 129 41 Jerome Sautret 1300 199 Jérôme Sautret 1465 1011 Johan Oudinet 16 12 Jonas Ådahl 7 1 jpegger 1 1 Juan Pablo Carlino 2 2 Leif Bredgaard Honore 2 2 liudan 6 4 Marek Foss 12 5 Martin Langhoff 81 7 Mathias Ertl 33 31 Matthias Rieber 22 6 Matwey V. Kornilov 7 13 Maxim Ignatenko 857 567 Mickael Remond 1458 1118 Mickaël Rémond 394 115 Mickaël Rémond 44205 25665 Mikhail-D 1783 0 mrjameshamilton 1 1 Nathan Bruning 13 11 Nikolaus Polak 17 20 Nycholas de Oliveira e Oliveira 3 1 Otavio Fernandes 71 60 oxpa 4 2 Pablo Polvorin 556 152 Paul Donohue 8 4 Paweł Chmielowski 3305 3548 Peter Lemenkov 11 2 Quan Zhuo 4 4 Radosław Szymczyszyn 51 74 Rahul Gautam 9 9 Remco Wendt 8 0 Sergey Abramyan 542 15 Shelley Shyan 91 104 Sonny Scroggin 167 135 Stephen Röttger 43 36 Steven Lehrburger 2 4 stewart 1 1 Taufan Aditya 5 8 thierry 2 0 tjeerd 4 0 tmallard 6553 1300 Tsukasa Hamano 6 12 Tuncer Ayaz 2 2 vesvalo 19 7 Victor Rodrigues 74 73 W. Andrew Loe III 1 0
sergey-shambir / git-summary.md
Команда является встроенной в обычный дистрибутив git.
# Показать суммарное число коммитов по разработчикам без учёта мержей git shortlog -s -n --all --no-merges
Обработка git blame
В этом однострочнике выполняется git ls-files для вывода списка файлов, для каждого файла вызывается git blame и его вывод обрабатывается утилитами UNIX. На выходе получается число написанных в проекте строк по разработчикам без учёта пустых строк
git ls-files | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep -I '^author '; done | sort -f | uniq -ic | sort -n
Позволяет получать различные виды статистики в максимально приятном для чтения виде. Репозиторий проекта содержит инструкции по установке: arzzen/git-quick-stats
GIT: Как подсчитать вклад каждого разработчика?

Нарисовал простой gawk скрипт который парсит результаты команды ‘git log —numstat’. В итоге скрипт выдает вот такую статистику по каждому разработчику (автору):
Author: Scrooge McDuck
Insertions: 136
Deletions: 333
Files changed: 14
Commits: 15
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
А почему вы считаете, что они сидят на git репозиторий? Может быть они используют другую CSV?
Redmine делает такую статистику по любой VCS, которая подключена к проекту.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Если речь идет об опенсорс, то подключите репозиторий к www.ohloh.net
Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Отличное название для русского уха.
gitstats.sourceforge.net/ – делает HTML там и к-во комитов и кем и строчек кода и тд.
Ответ написан более трёх лет назад
Нравится 1 1 комментарий
NikitaG @NikitaG Автор вопроса
а вот это именно то что нужно. Спасибо.
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Git
Что за непонятные html-файлы?
- 2 подписчика
- вчера
- 181 просмотр

- Git
Как запушить проект webpаck на GitHub, но при этом не толкать все зависимости?
- 1 подписчик
- вчера
- 92 просмотра
Как посчитать количество строк кода в проекте на GitHub? Вопрос
Как посчитать количество строк кода в проекте на GitHub? Не могу найти эту возможность.
2 Комментария
Самый простой способ, это установить дополнение под Chrome или Opera: GitHub Gloc

Этот инструмент (Browser extension: counts lines of code on GitHub ) имеет открытый исходный код:
- Gloc cитает строки кода на GitHub.
- Работает для публичных и приватных репозиториев.
Считает строки кода со следующих страниц:
- отдельный репозиторий,
- репозитории пользователя,
- результаты поиска,
- трендовая страница,
- и тд.
Тогда на GitHub, мы можем видеть что-то подобно этому.

Еще есть способ через командную строку, но он сложнее.