摘要1:https://blog.csdn.net/O_Baby_9/article/details/82776175
摘要2:https://www.pianshen.com/article/47281830263/
代码提交行数统计
git log 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 }'
参数说明:
- obj_branch :需要统计代码行数的branch 分支或tag
- (--author="提交者") :可选择的参数,如果这个模块只有一个人提交,建议添加这个参数否则不加
- 文件名/目录名:通过特有的文件名或目录名筛选
排除一个或多个文件夹
git log obj_branch (--author="提交者") --pretty=tformat: --numstat -- . ":(exclude)folderName" | grep 文件名/目录名 | gawk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
参数说明:
- -- . ":(exclude)folderName" 排除文件夹
- -- . ":(exclude)folderName1" ":(exclude)folderName2" 排除多个文件夹
指定时间段统计
git log obj_branch (--author="提交者") --since="2019-05-01" --until="2019-05-31" --pretty=tformat: --numstat -- . ":(exclude)folderName" | grep 文件名/目录名 | gawk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
参数说明:
- since: 起始时间
- until: 结束时间