Команда, представленная ниже — результат piped-операций в линуксовом терминале. Для конкретного проекта команда выглядит так:
git log --all --format=%ai | cut -d '-' -f1 | sort -n | uniq -c | awk '{printf "%4s: %s commits\n", $2, $1}'
Разберём по каждому вызову:
git log --all --format=%ai
— выводит построчный лог коммитов только с датами в форматеYYYY-MM-DD HH:MM:SS
;cut -d '-' -f1
— извлекает первую часть даты (в нашем случае год);sort -n
— сортировка полученных годов;uniq -c
— подсчёт повторений по году (ключевая часть расчёта количества коммитов);awk '...'
— вызов утилиты для сканирования обработки паттернов в естественном языке, в нашем случае выступает форматтером выходного строкового значения.