Git的代码统计

使用GitBash,即项目文件夹打开后,右键 Git Bash Here

1. 统计项目内所有代码行数

git log --numstat --summary -- | awk '{add+=$1} END {print add}'

 这个命令会统计所有提交的添加行数之和。git log --numstat --summary -- 用于显示每个提交的更改行数统计信息,然后使用 awk 命令计算所有提交的添加行数之和,并输出结果。

请注意,这个命令只会统计添加的行数,不会统计删除的行数。如果你需要统计所有更改的行数,可以使用 --stat 参数代替 --numstat


在代码路径下运行以下指令,可统计出当前仓库中的总代码行数:

git log --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 }'

输出结果:

added lines: 3520, removed lines: 1857, total lines: 1663

2. 统计一定时间内产生的代码行数

时间参数,--since:起始时间,--until:终止时间:

git log --since=2020-01-01 --until==2022-12-31 --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 }'

输出结果:

added lines: 3520, removed lines: 1857, total lines: 1663

3. 统计指定开发者一段时间内产生的代码行数

git log --author=<developer> --pretty=tformat: --numstat | awk '{add+=$1} END {print add}'

其中:

  • <developer> 是你要统计的开发者名称或邮箱地址。
  • --pretty=tformat: 用于指定日志输出的格式,这里我们使用 tformat: 以减少输出量。
  • --numstat 用于显示每个提交的更改行数统计信息。
  • awk '{add+=$1} END {print add}' 用于计算所有提交的添加行数之和。

这个命令的工作原理是先使用 git log 命令列出指定开发者在一段时间内的所有提交,然后使用 --numstat 参数显示每个提交的更改行数统计信息。接着使用 awk 命令计算所有提交的添加行数之和,并输出结果。

注意:这个命令只会统计指定开发者在一段时间内的添加行数,不会统计删除行数。如果你需要统计所有更改的行数,可以使用 --stat 参数代替 --numstat


 要查询的开发者账号名称参数,--author:开发者账号名称。
和时间参数可以同时使用。

git log --since =2019-01-01 --until==2019-12-31 --author="peter" --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 }'

输出结果:

added lines: 11843, removed lines: 2036, total lines: 9807
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值