代码提交统计:
git log base_branch..obj_branch (--author="提交者") --pretty=tformat: --numstat | grep 文件名/目录名 | gawk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
统计命令说明:
base_branch :对的提交所基于的branch 分支或tag
obj_branch :需要统计代码行数的branch 分支或tag
(--author="提交者") :可选择的参数,如果这个模块只有一个人提交,建议添加这个参数否则不加
文件名/目录名:通过特有的文件名或目录名筛选
实例1:新仓库
git log branch --pretty=tformat: --numstat | grep testfile | 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: 75 removed lines : 4 total lines: 79
实例2:老仓库:
git log branch_Back..branch --pretty=tformat: --numstat | grep acc | 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: 14 removed lines : 11 total lines: 25
实例3:添加提交者筛选
git log branch_Back..branch --author="baby" --pretty=tformat: --numstat | grep configs | 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: 2252 removed lines : 3 total lines: 2255