Ответ 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 >
Изменить: в верхнем фрагменте добавлены косые черты, поэтому его можно скопировать и вставить в командную строку.