Команда, представленная ниже — результат piped-операций в линуксовом терминале. Для конкретного проекта команда выглядит так:

git log --all --format=%ai | cut -d '-' -f1 | sort -n | uniq -c | awk '{printf "%4s: %s commits\n", $2, $1}'

Разберём по каждому вызову:

  1. git log --all --format=%ai — выводит построчный лог коммитов только с датами в формате YYYY-MM-DD HH:MM:SS;
  2. cut -d '-' -f1 — извлекает первую часть даты (в нашем случае год);
  3. sort -n — сортировка полученных годов;
  4. uniq -c — подсчёт повторений по году (ключевая часть расчёта количества коммитов);
  5. awk '...' — вызов утилиты для сканирования обработки паттернов в естественном языке, в нашем случае выступает форматтером выходного строкового значения.