在git中列出项目中的所有开发人员

是否有可能在git中列出所有贡献项目的用户(已完成提交的用户)? 任何额外的统计

要显示所有用户和提交数量:

git shortlog --summary --numbered 

或者干脆:

 git shortlog -sn 

如果你想在列表中更具体(find一个独特的提交者和作者列表),你可以使用git log:

 git log --pretty="%an %ae%n%cn %ce" | sort | uniq 
  • %an作者姓名
  • %ae作者电子邮件
  • %n新行
  • %cn提交者名称
  • %ce提交电子邮件

其他占位符在git日志的漂亮的打印文档中描述

你可以试试这个:

 git log | grep Author: | sort | uniq 

(已经完成提交的用户)

注意: git shortlog组默认由作者提交

如果您需要由提交者进行分组,则需要Git 2.12(2017年第1季度)

 git shortlog -snc 

见Jeff King( peff )的 提交03f4082 (2016年12月16日) 。
见Linus Torvalds( torvalds )的commit fbfda15 (2016年10月11日) 。
(由Junio C gitster合并- gitster – in commit ad1b4e2 ,2016年12月27日)

Linus Torvalds自己介绍了这个function:

shortlog :按提交者信息分组

在某些情况下,您可能希望将提交按作者进行分组,而不是由提交者进行分组。

例如,当我只想在当前的合并窗口中查找我从linux-next中仍然缺less的东西时,我并不关心谁写了一个补丁,就像它来自哪个git tree一样,归结为“谁犯了罪”。

所以让git shortlog取一个“ -c ”或“ --committer ”选项来切换分组。

我还没有到处去testing它,但是这对于git repo的项目统计看起来非常好: https : //github.com/visionmedia/git-extras

检查bin目录以查看不同的脚本。

例如:git-count脚本(每个提交者的提交数)

 git shortlog -n $@ | grep "):" | sed 's|:||' 

你可以尝试惊人的包称为git-extras 。 具体来说,命令git-summary , git-count和其他一些 。

另一种select可以是:

 git log --format='%aN' | sort -u 

大多数存储库包含每个作者的多个身份([email,name]对)。 如果我可以build议一个非cli解决scheme,请尝试Gitential ,它也可以删除作者身份。