Как посчитать количество строчек кода github
Перейти к содержимому

Как посчитать количество строчек кода github

  • автор:

Как подсчитать количество написанного кода в репозитории по авторам?

Задача узнать, кто из авторов сколько кода написал. Я знаю, что это необъективная информация для подсчета вклада в проект, но все же хоть какая-то статистика. Если знаете какие-то решения, актуальные на данный момент — прошу поделиться. Пробовал пользоваться вот этим пакетом, но он устарел, т.к. был написан более семи лет назад. Более новых google не выдал. Есть команда git log —numstat , но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил?

Отслеживать
68.2k 225 225 золотых знаков 80 80 серебряных знаков 223 223 бронзовых знака
задан 11 мар 2016 в 12:08
1,359 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

Save sergey-shambir/767b2bacf1e4458b10f20ed8c0e329e9 to your computer and use it in GitHub Desktop.

Как собирать общую статистику по git репозиторию

Как собирать общую статистику по git репозиторию

Команда git summary

Команда git summary не является встроенной и требует установки пакета git-extras

С помощью команды можно узнать процент авторства исходного кода проекта:

# Количество и процент написанных разработчиком строк во всех файлов проекта git summary --line # Количество и процент написанных разработчиком файлов во всех файлов проекта git summary --line 

Команда git shortlog

Команда является встроенной в обычный дистрибутив 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 

git quick-stats

Позволяет получать различные виды статистики в максимально приятном для чтения виде. Репозиторий проекта содержит инструкции по установке: arzzen/git-quick-stats

Как посчитать количество строк кода в проекте на GitHub? Вопрос

GitHub Gloc

Этот инструмент (Browser extension: counts lines of code on GitHub ) имеет открытый исходный код:

  1. Gloc cитает строки кода на GitHub.
  2. Работает для публичных и приватных репозиториев.

Считает строки кода со следующих страниц:

  • отдельный репозиторий,
  • репозитории пользователя,
  • результаты поиска,
  • трендовая страница,
  • и тд.

Тогда на GitHub, мы можем видеть что-то подобно этому.

GitHub Gloc LibArea

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

GIT: Как подсчитать вклад каждого разработчика?

Rafael

Нарисовал простой 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

  • Git

Как правильно слить воедино нескольких репозиториев в GIT?

  • 2 подписчика
  • вчера
  • 292 просмотра

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *