Git代码统计

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工具统计项目的代码行数

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值