统计git代码行数

该命令用于从2020年12月1日至2021年12月13日期间的Git日志中,按作者统计代码增删情况。它首先列出这段时间内的所有作者,然后对每位作者的添加行数、删除行数和总行数进行统计,提供了一个全面的代码变更概览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git log --since="2020-12-01" --before="2021-12-13" --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --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 }' -; done
### 使用 Git 命令统计仓库中的代码行数 为了统计Git仓库中所有提交的代码行数,可以通过组合`git log`和一些Unix工具来实现这一目标。具体来说,通过使用`git log`命令并配合`--numstat`选项以及后续处理数据的脚本语言如Awk,可以有效地获取新增、删除及总行数的信息。 对于整个项目历史记录而言,下面给出了一种方法用于计算总的增加与减少的行数: ```bash git log --numstat --pretty=tformat: | awk '{ adds += $1; subs += $2 } END { printf "新增行数: %s, 删除行数 : %s, 净增行数(考虑正负):%s\n", adds, subs,adds-subs}' ``` 上述命令会遍历所有的提交记录,并累加每一个变更所带来的影响——即每一处修改所引入的新行数目减去被移除掉的老行数量[^2]。 若希望进一步细化到特定时间段内或是限定于某位贡献者的改动,则可以在原有基础上加入更多参数控制范围。例如,要查看某个开发者在过去一个月内的活动情况,可参照如下形式调整查询语句: ```bash git log --author='AuthorName' --since="1 month ago" --until="now" --numstat --pretty=tformat: | awk '{ adds += $1; subs += $2 ;count+=$1+$2} END {print "该作者在此期间共增加了:",adds,"行;减少了:",subs,"行;总计变动了:",count,"行"}' ``` 这里不仅限定了时间窗口(`--since`, `--until`)还指明了关注的对象(`--author`),从而使得输出更加精确地反映了个人的工作量分布状况[^3]。 值得注意的是,默认情况下这种做法不会过滤掉注释或空白行等内容,因此得到的结果可能包含了非实际编码部分的变化。如果想要排除这类因素干扰而专注于纯代码层面的数据分析,建议采用专门设计为此目的第三方应用程序,像cloc这样的工具能够提供更专业的服务[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值