我想检查作者的电子邮件和姓名,以验证谁在推送到我的存储库。
有什么方法可以让我在 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 log --format='%ae' HASH^!
它也适用于
git show
。您需要包含 -s
来抑制差异。
git show -s --format='%ae' HASH
git show <commit_id> | grep Author
使用 git show + pipeline + grep 有效!
这将显示 - sha、提交者电子邮件、作者电子邮件
git log --pretty=format:"%h %ce %ae" HASH
如果您想要作者姓名而不是电子邮件,可以使用以下方法:
git show -s --format='%an' HASH
与其他答案的区别在于格式字符串(
%an
vs %ae
)。