如何使用 git log 查找哪个作者和提交者对项目做了更多提交?

如何使用 git log 查找哪个作者和提交者对项目做了更多提交?

我一直在浏览Git 基础知识 - 查看提交历史记录Git 工具 - 搜索虽然大多数方法看起来很简单,但我一直在试图弄清楚是否有一种方法可以找出在项目中完成最多提交的作者或/和完成大部分提交的提交者。

我确信会有一些方法,例如 -

  1. 查找在项目中完成最多提交的作者。

  2. 以降序的方式查找提交次数最多的作者。

  3. 查找在项目中完成最多提交的提交者

诸如此类的事情。它可以对项目本身的状态进行一些有趣的分析。

人们知道在上述情况下可以做什么吗?

我正在使用 Debian 破坏者。

答案1

有一个专门为此目的而设计的 Git 命令。

git shortlog --numbered --summary

或者简单地:

git shortlog -ns

git-shortlog(1)有关更多详细信息,请参阅联机帮助页。

答案2

git log --pretty=format:%aN | sort | uniq -c | sort -n

git log --pretty=format:%aN仅输出作者姓名对于每一次提交。sort将所有重复的名字收集在一起,然后uniq -c将每次运行的相等行转换为重复次数和数值之前的值sort。您可以使用最后一行 ( tail -n 1) 来查找最多产的,反转排序 ( sort -nr) 进行降序,或者您喜欢的任何其他处理。

答案3

您可以编写自己的工具来解析 git 日志,或者您可以使用诸如吉特统计将生成一份报告,其中列出了主要提交者;参见例如这份关于 Linux 内核的旧报告

还有一些服务可以为项目添加分析功能;参见例如比特尔贾,这会产生这种 Kibana 前端

相关内容