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

时间:2012-03-07 07:31:52

标签: git

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

还有其他统计数据吗?

10 个答案:

答案 0 :(得分:290)

显示所有用户和提交次数:

git shortlog --summary --numbered

或者简单地说:

git shortlog -sn

答案 1 :(得分:31)

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

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

pretty print documentation of git log中描述了其他占位符。

答案 2 :(得分:16)

你可以试试这个:

git log | grep Author: | sort | uniq

答案 3 :(得分:6)

  

(已完成提交的用户)

注意:默认情况下, authors 提交git shortlog组提交。

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

git shortlog -snc

commit 03f4082Jeff King (peff)(2016年12月16日) 请commit fbfda15查看Linus Torvalds (torvalds)(2016年10月11日) Junio C Hamano -- gitster --于2016年12月27日commit ad1b4e2合并)

Linus Torvalds自己介绍了这个功能:

  

shortlog:按提交者信息分组

     

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

     

例如,当我想在当前合并窗口中查找linux-next中仍然缺少的内容时,我并不在乎谁在乎谁   写了一个补丁,因为它来自git tree,它通常会沸腾   到#34;谁承诺了#34;。

     

所以让git shortlog采取" -c"或" --committer"将分组切换为该选项的选项。

答案 4 :(得分:2)

另一种选择可以是:

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

答案 5 :(得分:1)

我还没有亲自测试它,但这看起来非常适合Git存储库的项目统计:https://github.com/visionmedia/git-extras

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

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

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

答案 6 :(得分:0)

你可以尝试一个名为git-extras的神奇包。具体来说,命令git-summarygit-countsome other

答案 7 :(得分:0)

大多数存储库包含每个作者的多个身份([email,name]对)。如果我可以建议非CLI解决方案,请尝试Gitential,这也会对作者身份进行重复数据删除。

答案 8 :(得分:0)

@ pedro-nascimento,@mic_e和其他人的精彩答案已经解决了这个问题。

此外,您可以将以下行添加到.gitconfig

contributors = shortlog -e --summary --numbered

或shell类型

git config --global alias.contributors 'shortlog -e --summary --numbered'

答案 9 :(得分:0)

我正在使用GHI打开问题,并且只要知道用户名,就可以在其中将问题分配给特定用户

如果这对某人有帮助,我不会,但是我将在这里保留对我有用的解决方案:

要仅从我运行的GitHub中获取作者的用户名

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

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

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

对于想要从CMD /终端发布问题和/或分配给某人的任何人,请在此处记录 GHI https://github.com/stephencelis/ghi