项目场景:
今天领导突然找我,说要统计自己入职以来,在gitlab上的代码总行数和 commit 量!
于是,我就有了以下总结。
解决2个问题
注意:
- 一定要在 git bash 终端打开。不要在 vscode 终端、powershell 等终端执行命令(否则,可能会报错)
- 要在当前项目的根目录下执行
1. 怎么样统计 commit 总数量?
要统计 【张三从2022-01-01起的 commit 总提交量】,只需一句命令:
git log --author='张三' --since="2022-01-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l
得到如下结果(张三从2022-01-01起在该项目中,一共有 282个commit):
282
2. 怎么样统计 代码 总行数?
要统计 【张三的代码添加、删除、代码净行数】, 只需一句命令:
git log --author='张三' --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 }'
得到如下结果(张三一共添加了111367行代码,删除了90072行代码,净添加21295行代码):
added lines: 111367, removed lines: 90072, total lines: 21295
说明:
- 这里的 | 是管道符,表示执行了前面的 git 命令之后,接着执行后面的命令
- 这里的 grep, wc, awk 是 Linux 命令,主要用来输出结果,我们无需关注
版权归原作者 凌晨作案 所有, 如有侵权,请联系我们删除。