14

我有一个有很多作者的大项目。

例如,

user1 - commit1
user2 - commit2
user1 - commit3 

我想获得所有独特的作者。结果必须是user1 user2

如何在 git 中记录唯一作者?

4

4 回答 4

30

这是一种简单的方法:

git log --format="%an" | sort -u
于 2012-10-07T11:54:37.673 回答
7

试试这个:

 git shortlog -s | awk '{print $2,$3}' | sort -fu

编辑:这也会让你收到电子邮件

git shortlog -se | sed -re 's/^\s*[[:digit:]]*\s*//' | sort -fu

-r或者,在没有标志的 macOS 上- Oliver 在下面的评论中强调- 将是:

git shortlog -se | sed -e 's/^\s*[[:digit:]]*\s*//' | sort -fu

于 2012-10-07T11:45:38.130 回答
1

我需要找到作者和提交者,所以下面是https://devhints.io/git-log到有用的命令。

下面的代码author name (%an) and author email (%ae)以这种格式为您提供

personName - person@email.com

git log --format="%an - %ae" | sort -u
git log --format="%cn - %ce" | sort -u
于 2020-04-01T21:57:51.857 回答
0

另一种可能性是gitqlite "SELECT DISTINCT author_name FROM commits"使用gitqlite,这是一个在 git 数据上运行 ad-hoc SQL 查询的工具。

(完全披露,我是该项目的创建者/维护者)

于 2020-07-04T14:15:26.880 回答