【问题标题】:Git - Is there a way to view the number of lines committed by Author?Git - 有没有办法查看作者提交的行数?
【发布时间】:2011-02-13 10:45:51
【问题描述】:

有没有人知道一个命令或脚本会输出每个提交给项目的作者,后跟他们贡献的行数。

例如类似于以下内容:

Author       Insertions   Deletions
Bob Dole     1240         409
Sarah J      481          140
Jim Helper   388          23

干杯,本

【问题讨论】:

标签: git


【解决方案1】:

这给出了特定作者的行统计:

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,这应该可以工作:while read i; do git log --author="$i" --pretty=tformat: --numstat | { printf "$i: "; gawk ' { add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' -; }; done < <(git shortlog -sne | sed 's/[^<]*<\([^>]*\)>/\1/' | sort -u)
【解决方案2】:

git shortlog -sne

【讨论】:

  • 我也正要在回答中提到这一点,你打败了我。
  • 那不告诉行数!
  • 这也是很酷的信息,但会按作者打印提交的数量,而不是行数。
  • 这是在回答一个完全不同的问题。我不知道为什么它被投票,但看看其他答案。
【解决方案3】:

快速搜索到GitStats,尽管这只会生成 HTML 输出。

更新:更多的挖掘出现了LookAtGit,这似乎更符合您的要求。

第二次更新:正如在对原始问题的评论中提到的,这也可以通过 git 和 sed/awk 来完成。有一个很好的例子说明如何在 SO 上做到这一点right here

【讨论】:

  • 但是它是开源的,所以你可以让它生成你想要的任何输出格式...
  • 没错,不过我假设如果他有时间自己编写一个预先存在的脚本,他就不会要求。
猜你喜欢
  • 2017-05-07
  • 2021-06-24
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 2016-11-18
  • 2016-06-27
  • 1970-01-01
  • 2015-11-29
相关资源
最近更新 更多