如何在给定 SHA1 的 git 中获取(仅)作者姓名或电子邮件?

问题描述 投票:0回答:4

我想检查作者的电子邮件和姓名,以验证谁在推送到我的存储库。

有什么方法可以让我在 git 中使用一个命令来显示提交者的姓名/电子邮件(仅给出提交的 SHA1)?

这是我想出的,但它远非理想的解决方案(第一个解决方案是 git hook,这就是为什么它使用 2 个 SHA1 和

rev-list
。第二个解决方案仅使用
git show
):

git rev-list -n 1 --pretty=short  ccd3970..6ddf170 | grep Author | cut -d ' ' -f2- | rev | cut -d ' ' -f2- | rev
git show 6ddf170 | grep Author | cut -d ' ' -f2- | rev | cut -d ' ' -f2- | rev 
git commit sha1 author
4个回答
103
投票

您可以使用以下命令:

 git log --format='%ae' HASH^!

它也适用于

git show
。您需要包含
-s
来抑制差异。

git show -s --format='%ae' HASH

28
投票
git show <commit_id> | grep Author

使用 git show + pipeline + grep 有效!


13
投票

这将显示 - sha、提交者电子邮件、作者电子邮件

git log --pretty=format:"%h %ce %ae" HASH

2
投票

如果您想要作者姓名而不是电子邮件,可以使用以下方法:

git show -s --format='%an' HASH

与其他答案的区别在于格式字符串(

%an
vs
%ae
)。

© www.soinside.com 2019 - 2024. All rights reserved.