1.目的
统计代码行数,用于质量把控,计算每周/月 贡献值、BUG率等各项指标
2.实战
2.1 前置工作
- 下载代码(至少应有代码的访问权限guest)
- 本地安装git客户端,下载地址
- 打开git bash
- 进入统计项目的根目录,
- 如 把demoProject项目下载至D盘temp目录下
- 在git bash命令进入
xxx@xxxxx MINGW64 ~
$ cd /d
xxx@xxxxx MINGW64 ~
$ cd /d/temp/demoProject
前缀目录即变成如下
xxx@xxxxx MINGW64 ~ /d/temp/demoProject
$
2.2 统计示例
2.2.1 按日期区间统计
git bash中输入以下命令
git log --pretty=tformat: --since ==2021-08-01 --until=2021-09-20 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
since : 日期区间,详情见
结果:
added lines: 20633, removed lines: 7160, total lines: 13473
其他说明
修改日期,调整统计区间
2.2.2 按提交用户
git bash中输入以下命令
git log --author="user1" --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: 20632 removed lines : 7160 total lines: 27792
其他说明 修改用户名,调整统计区间
2.2.3 按commit/tag统计
git bash中输入以下命令
git log tag1..tag2 --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: 18219 removed lines : 0 total lines: 18219
其他说明 修改tag,调整统计区间
2.2.4 组合:按日期区间 + 提交用户统计
git bash中输入以下命令
git log tag1..tag2 --author="user1" --pretty=tformat: --since ==2021-08-01 --until=2021-09-20 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
结果:
added lines: 18219, removed lines: 0, total lines: 18219
其他说明 修改日期 / 用户,调整统计区间
3.参考
1.官方log文档 2.git中统计代码行数 3.git工具统计项目的代码行数
|