前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Git 统计代码量

Git 统计代码量

作者头像
Cell
发布2024-11-21 18:28:47
发布2024-11-21 18:28:47
1880
举报
文章被收录于专栏:Cell的前端专栏Cell的前端专栏

注意

本文最后更新于 2024-07-17,文中内容可能已过时。

使用 Git 命令统计在某段时间内项目中的代码量。

1 统计 commit 数

1

git log --author="1024@lruihao.cn" --since="2023-01-01" --until="2023-12-31" --oneline | wc -l

2 统计行数

1

git log --author="1024@lruihao.cn" --pretty=tformat: --since="2023-01-01" --until="2023-12-31" --numstat -- . ":(exclude)build" ":(exclude)dist" ":(exclude)node_modules" ":(exclude)test" ":(exclude)static" -numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

3 整合成一个脚本

统计所有作者移除 --author="$author_email"

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

#!/bin/bash project_name=$(basename "$(pwd)") author_email="1024@lruihao.cn" # since_date="1 year ago" since_date="2023-01-01" until_date="2023-12-31" # 统计 commit 数量 commit_count=$(git log --author="$author_email" --since="$since_date" --until="$until_date" --oneline | wc -l) # 统计代码行数(排除目录 build、dist、node_modules、test、static) line_stats=$(git log --author="$author_email" --pretty=tformat: --since="$since_date" --until="$until_date" --numstat -- . ":(exclude)build" ":(exclude)dist" ":(exclude)node_modules" ":(exclude)test" ":(exclude)static" | awk '{ add += $1; subs += $2; } END { printf "%s ++\t%s --\n", add, subs }') echo "$project_name:\t$commit_count commits\t$line_stats"

例如在 FixIt 项目中截至 2024-07-17 为止我的代码统计如下:

1

FixIt: 1022 commits 82040 ++ 103942 --

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-172,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 统计 commit 数
  • 2 统计行数
  • 3 整合成一个脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档