是否可以在Git中列出所有为项目做出贡献的用户(已经提交的用户)?

还有其他统计数据吗?


当前回答

要显示当前分支中所有的用户和电子邮件以及提交的数量:

git shortlog --summary --numbered --email

或者仅仅是:

git shortlog -sne

要显示来自所有分支的用户(不仅仅是当前分支中的用户),你必须添加——all标志:

git shortlog -sne --all

其他回答

你可以试试这个:

git log | grep Author: | sort -u

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

git log --pretty="%an %ae%n%cn %ce" | sort -u

%作者姓名 %ae作者邮箱 %n新行 %cn提交者名称 提交人电子邮件

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

我使用GHI打开问题,只要我知道他们的用户名,就可以将问题分配给特定的用户

我不知道这对别人是否有帮助,但我要把对我有用的解决方案留在这里:

从我运行的GitHub中只获得作者的用户名

git shortlog -sne | grep +  | sed -e "s/.*+//; s/@.*//"

它将只列出当前项目中作者的用户名。

然后我可以选择一个用户名,并分配一个问题给他/她。

对于任何想要打开问题和/或从cmd / terminal分配给某人的人,这里有ghi的文档 https://github.com/stephencelis/ghi

要显示当前分支中所有的用户和电子邮件以及提交的数量:

git shortlog --summary --numbered --email

或者仅仅是:

git shortlog -sne

要显示来自所有分支的用户(不仅仅是当前分支中的用户),你必须添加——all标志:

git shortlog -sne --all

(已经提交的用户)

注意:默认情况下,git shortlog组由作者提交。

如果你需要按提交者分组,你需要Git 2.12(2017年第一季度)

git shortlog -snc

参见Jeff King (peff)提交03f4082(2016年12月16日)。 参见Linus Torvalds提交fbfda15(2016年10月11日)。 (由Junio C Hamano—gitster—在commit ad1b4e2中合并,2016年12月27日)

Linus Torvalds自己介绍了这个特性:

Shortlog:根据提交者信息分组 在某些情况下,你可能不希望按照作者来分组提交, 而是由提交者。 例如,当我只想在当前合并窗口中查找linux-next中仍然缺少的内容时,我不太关心谁 写了一个补丁,作为什么git树它来自,它一般沸腾 归结为“是谁干的”。 所以让git shortlog带一个"-c"或"——committer"选项来切换分组。