Git - 列出文件夹的所有作者?

时间:2014-07-17 15:38:36

标签: git

如何列出由git版本化的特定文件夹的作者姓名?

我看到我可以git blame一个文件并列出每一行的作者,但我不能为一个文件夹做这个,我也只想要一个唯一的列表(每个作者只列出一次)

3 个答案:

答案 0 :(得分:11)

基于The shortest possible output from git log containing author and date

这样做

git log --pretty=format:"%an%x09" myfolder | sort | uniq

答案 1 :(得分:10)

实际上,有一个本机Git命令,git shortlog

git shortlog -n -s -- myfolder

将提供创建提交myfolder的提交的贡献者列表。通过省略选项-s,摘要甚至列出了每个作者的提交消息摘要。选项-n按提交数量(从最多到最少)对作者进行排序,而不是按字母顺序排列。

答案 2 :(得分:0)

如果仅需要存储库的作者列表:

git ls-files | xargs -n1 git blame --line-porcelain | sed -n 's/^author //p' | sort -d | uniq

如果要按文件贡献的行数来执行文件顺序操作,这很简单:

git blame --line-porcelain "_MY_FILE_" | sed -n 's/author //p' | sort | uniq -c | sort -rn

如果要对整个存储库都这样做,也按代码贡献排序:

git ls-files | xargs -n1 git blame --line-porcelain | sed -n 's/^author //p' | sort -f | uniq -ic | sort -nr