原文 https://www.cnblogs.com/shiningrise/p/9165970.html
按照提交人统计
1 | git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done |
效果如图
当更换过电脑或者重装过git之后,每次提交设置的全局user.name不一样,可能一个人会有多个名字。
1 | git config --global user.name "XXX" |
若想保持统一,则这个user.name每次设置成一样的。
统计指定提交着代码量
–author替换成提交着名字,就是上图中的user.name
1 | git log --author="xxx" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' - |