有谁知道一个命令或脚本,它会输出每个作者承诺的项目后跟他们贡献的行数。Git - 有没有办法查看作者提交的行数?
例如类似下面的东西:
Author Insertions Deletions
Bob Dole 1240 409
Sarah J 481 140
Jim Helper 388 23
干杯,本
有谁知道一个命令或脚本,它会输出每个作者承诺的项目后跟他们贡献的行数。Git - 有没有办法查看作者提交的行数?
例如类似下面的东西:
Author Insertions Deletions
Bob Dole 1240 409
Sarah J 481 140
Jim Helper 388 23
干杯,本
混帐shortlog -sne
我在我的回答中也提到了这一点,你打败了我。 – 2010-04-28 16:38:49
这并不能告诉行数! – 2011-03-07 20:06:14
这也是很酷的信息,但打印作者的提交数量,而不是行数。 – 2012-04-16 23:57:35
快速搜索挖出GitStats,虽然仅生成HTML输出。
更新:有点挖掘出来LookAtGit,这似乎更符合你在找什么。
第二次更新:正如对原始问题的评论所述,这也可以通过git与sed/awk一起完成。有一个很好的例子,说明如何在SO上执行此操作。right here。
但它是开源的,所以你可以让它产生任何你想要的输出格式... – 2010-04-28 16:24:40
虽然如此我假设如果他有时间鞭打他自己,他不会要求预先存在的脚本。 – 2010-04-28 16:27:12
这给行统计某个作者:
git log --author="_Your_Name_Here_" --pretty=tformat: --numstat \
| gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' -
你能扩展你的答案来输出所有作者的统计数据吗? – mrgloom 2017-10-13 10:59:53
@mrgloom,这应该工作:'while read i;做git log --author =“$ i”--pretty = tformat:--numstat | {printf“$ i:”; gawk'{add + = $ 1; subs + = $ 2; loc + = $ 1 - $ 2} END {printf“添加的行:%s删除的行:%s总行:%s \ n”,add,subs,loc}' - ; };完成<<(git shortlog -sne | sed's/[^ <]*<\([^>] * \)>/\ 1 /'|排序-u)' – 2017-10-24 23:19:38
这大概可以有超过'混帐blame'的输出简单的awk/sed脚本来实现。 http://www.kernel.org/pub/software/scm/git/docs/git-blame.html – 2010-04-28 16:26:04