git log --format='%aN' | sort -u | while read name; do echo -en "$name"; git log --author="$name" --pretty=tformat: --numstat --since=2020-12-01 --until=2020-12-31| awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf " added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
其中关键的控制时间的参数为:
--since 仅显示指定时间之后的提交。如上命令中是 2020-12-01
--until 仅显示指定时间之前的提交。如上命令中是 2020-12-31
即上述命令的含义是查询2020年12月01号至2020年12月31号的所有人的提交统计
效果如下所示