
本文介绍一个统计Git代码仓库签入代码行数的批量统计脚本。
1. 单个Git代码仓库
对单个Git代码仓库,按提交者进行归类统计代码提交行数。
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --numstat --author="$name" | awk 'BEGIN{add=0;subs=0;loc=0} {if($1~/^[0-9]+/){add += $1; subs += $2; loc += $1 + $2 }} END {printf "%s\t%s\t%s\n", add, subs, loc }'; done;
请cd到指定代码仓库目录下,然后运行上面的命令,可以看到如下输出,
peipeihh 13594 275 13869
每列的数字意义如下,
- 第一列:代码提交人
- 第二列:提交的新增代码行数
- 第三列:提交的删除代码行数
- 第四列:所有提交的代码行数