Skip to content

Instantly share code, notes, and snippets.

@sergey-shambir
Last active May 8, 2024 12:54
Show Gist options
  • Save sergey-shambir/767b2bacf1e4458b10f20ed8c0e329e9 to your computer and use it in GitHub Desktop.
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 number of commits per author on all branches

Команда является встроенной в обычный дистрибутив git.

# Показать суммарное число коммитов по разработчикам без учёта мержей
git shortlog -s -n --all --no-merges

Обработка git blame

Источник: amitchhajer/Count Code lines

В этом однострочнике выполняется 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment