You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计GitHub项目中个人编写及删除的代码行数?

用Git内置命令统计个人代码增删行数

Git本身就有内置命令可以完成这个需求,不需要额外工具,以下是具体操作:

基础统计(全项目历史)

运行下面的命令,把"你的GitHub用户名/提交名称/邮箱"替换成你提交代码时使用的身份信息(确保和Git提交记录里的一致,模糊匹配生效):

git log --author="你的身份信息" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "新增行数: %s\n删除行数: %s\n净增行数: %s\n", add, subs, loc }'

各参数说明:

  • --author:指定要统计的提交作者,支持模糊匹配
  • --pretty=tformat::隐藏提交日志的标题信息,只保留行数统计数据
  • --numstat:输出每个提交的新增、删除行数
  • awk:用来汇总所有提交的增删行数,最终输出总统计结果

进阶统计(指定时间段/排除合并提交)

  • 如果只需要统计某个时间段内的代码,添加--since和--until参数:
    git log --author="你的身份信息" --since="2024-01-01" --until="2024-06-30" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "新增行数: %s\n删除行数: %s\n净增行数: %s\n", add, subs, loc }'
    
  • 如果要排除合并提交(避免统计合并时带来的行数变动),加上--no-merges参数:
    git log --author="你的身份信息" --no-merges --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "新增行数: %s\n删除行数: %s\n净增行数: %s\n", add, subs, loc }'
    

注意事项

  • 确保--author的参数准确,否则可能会统计到其他同名作者的提交,可以用git log --format="%aN <%aE>"查看自己所有提交使用的身份信息
  • 代码增删行数不能直接等同于代码质量:比如重构代码、优化冗余逻辑会增加删除行数,但实际上是提升了代码质量,你可以在汇报时主动说明这类情况

内容的提问来源于stack exchange,提问作者Iren E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:27:12