git常用代码统计命令
* 统计时间段范围内代码提交行数
git log --since ==2017-05-09 --until=2017-11-06 | wc -l
16028
* 统计某个时间当时的代码量
git log --pretty=tformat: --until=2017-05-09 --numstat | gawk '{add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add,subs,loc}'
added lines: 2482851 removed lines: 80 total lines: 2631935
* 统计某人的代码提交量,包括增加,删除
git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines:%s removed lines: %s total lines:%s\n", add,subs,loc }'
added lines: 2564 removed lines : 1540 total lines: 1024
* 仓库提交者排名前3名
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 3
删除| head 则显示所有
git log 参数说明
--author 指定作者
--stat 显示每次更新的文件修改统计信息,会列出具体文件列表
--shortstat 统计每个commit 的文件修改行数,包括增加,删除,但不列出文件列表
--numstat 统计每个commit 的文件修改行数,包括增加,删除,并列出文件列表