使用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
版权归原作者 小鸟哗啦啦 所有, 如有侵权,请联系我们删除。