Подтвердить что ты не робот

Git: Как оценить вклад человека в мой проект с точки зрения добавленных/измененных строк кода?

У меня есть репозиторий GIT, и я хочу рассчитать, сколько строк кода было добавлено/изменено одним человеком или группой лиц в течение определенного периода времени. Можно ли рассчитать с помощью git?

4b9b3361

Ответ 1

Вы можете использовать git log и некоторые shell-fu:

git log --shortstat --author "Aviv Ben-Yosef" --since "2 weeks ago" --until "1 week ago" \
    | grep "files\? changed" \
    | awk '{files+=$1; inserted+=$4; deleted+=$6} END \
           {print "files changed", files, "lines inserted:", inserted, "lines deleted:", deleted}'

Объяснение: git log --shortstat отображает короткую статистику о каждой фиксации, которая, среди прочего, показывает количество измененных файлов, вставленных и удаленных строк. Затем мы можем отфильтровать его для определенного коммиттера (--author "Your Name") и временного диапазона (--since "2 weeks ago" --until "1 week ago").

Теперь, чтобы на самом деле суммировать статистику вместо того, чтобы видеть запись на фиксацию, мы делаем некоторые сценарии оболочки, чтобы сделать это. Во-первых, мы используем grep для фильтрации только строк с разностями. Эти строки выглядят следующим образом:

 8 files changed, 169 insertions(+), 81 deletions(-)

или это:

 1 file changed, 4 insertions(+), 4 deletions(-)

Затем мы суммируем их с помощью awk: для каждой строки мы добавляем измененные файлы (1-е слово), вставленные строки (4-е слово) и удаленные строки (6-е слово), а затем печатаем их после суммирования. p >

Изменить: в верхнем фрагменте добавлены косые черты, поэтому его можно скопировать и вставить в командную строку.

Ответ 2

Вы можете генерировать статистику, используя Gitstats. Он имеет раздел "Авторы", который включает в себя количество строк, добавляемых/удаляемых топ-20 авторами (верхняя 20 по количеству фиксаций).

Изменить: Там также Git: Статистика вины

Ответ 3

Для конкретных дат вы можете использовать --since "2012-08-27" --until "2012-09-01"

Как

git log --shortstat --author "Fabian" - с "2012-08-27" --until "2012-09-01" | grep "файлы изменены" | awk '{files + = $1; вставляется + = $4; deleted + = $6} END {print "files changed", файлы, "вставленные строки:", вставлен, "строки удалены:", удалены} '

Проверьте это объяснение

http://gitref.org/inspect/

Ответ 4

Вы можете попробовать Atlassian Fisheye/Crucible, который интегрируется с Git (а также другими репозиториями кода), Затем все вклады, включая их LOC, публикуются публично в легко читаемом веб-приложении. Для небольших групп это тоже довольно дешево.

Откройте исходную информацию и дайте ей говорить сами за себя.