当前位置:   article > 正文

Git中的代码统计命令,统计上传代码量、净增量等_怎么统计前后端代码量

怎么统计前后端代码量

有时候我们在工作中需要做一些代码量的统计,这时候我们可以借助Gitgit log配合--numstat选项来统计已提交的代码总量,包括新增和删除的行数。

1、统计整个项目从某一时间点到另一时间点的总行数变化

  1. # 统计从 'start_date''end_date' 时间段内所有提交的代码行数变动
  2. # 例:统计2024-01-012024-03-12 (时间自行设置替换即可)
  3. git log --since="2024-01-01" --until="2024-03-12" --pretty=format:'' --numstat \
  4. | grep -v '^$' \
  5. | awk '
  6. {
  7. add += $1;
  8. subs += $2;
  9. loc += $1 - $2
  10. }
  11. END {
  12. printf "Total added lines: %s, removed lines: %s, net lines: %s\n", add, subs, loc
  13. }'

2、统计某个特定作者在这个时间段内的代码量 -author

  1. # 统计指定作者 'username' 在同一时间段内的代码行数变动
  2. git log --author="username" --since="YYYY-MM-DD" --until="YYYY-MM-DD" --pretty=format:'' --numstat \
  3. | grep -v '^$' \
  4. | awk '
  5. {
  6. add += $1;
  7. subs += $2;
  8. loc += $1 - $2
  9. }
  10. END {
  11. printf "Author: %s, added lines: %s, removed lines: %s, total lines: %s\n", "username", add, subs, loc
  12. }'
  13. # YYYY-MM-DD 自行替换时间
  14. # awk 脚本读取每一行输出,并累加 $1(添加行数)和 $2(删除行数),最后输出累计的结果。
  15. # grep -v '^$'是用来过滤掉空行,因为--numstat产生的输出中有时会有空白行。

3、统计某个开发人员在某个分支上已提交的代码总量

  1. # 替换 'developer_name' 为你要查询的人员姓名,
  2. # 替换 'branch_name' 为你想要统计的分支名
  3. # 统计增删
  4. git log --author='developer_name' --pretty=tformat: --numstat --branches=branch_name |
  5. awk '
  6. NF == 3 {plus+=$1; minus+=$2}
  7. END {printf "该开发人员在分支 '%s' 上共增加了 %s 行代码,删除了 %s 行代码。\n", "branch_name", plus, minus}
  8. '
  9. # 若要进一步计算净增行数
  10. git log --author='developer_name' --pretty=tformat: --numstat --branches=branch_name |
  11. awk '
  12. NF == 3 {plus+=$1; minus+=$2}
  13. END {net = plus-minus; printf "该开发人员在分支 '%s' 上共增加了 %s 行代码,删除了 %s 行代码,净增 %s 行代码。\n", "branch_name", plus, minus, net}
  14. '

注意:

  1. 使用 --author 参数指定了开发人员的名字。
  2. 使用 --branches 参数限制只考虑指定分支的提交。
  3. --pretty=tformat: 是为了不让Git输出额外的信息,仅仅显示 --numstat 的结果。
  4. --numstat 输出每次提交涉及的文件行数变化详情,每行格式为“添加行数 删除行数 文件路径”。
  5. awk 脚本读取每一行输出,并累加 $1(添加行数)和 $2(删除行数),最后输出累计的结果。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/417874
推荐阅读
相关标签
  

闽ICP备14008679号