【问题标题】:How to get (only) author name or email in git given SHA1?如何在给定 SHA1 的 git 中获取(仅)作者姓名或电子邮件?
【发布时间】:2015-07-04 18:15:52
【问题描述】:

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

有没有什么方法可以让我在 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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
      git show <commit_id> | grep Author
      

      使用 git show + pipe + grep 有效!

      【讨论】:

        【解决方案3】:

        您可以使用以下命令:

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

        它也适用于git show。您需要包含 -s 以抑制差异。

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

        【讨论】:

        • 它确实适用于git show,但git show 首先显示format 指定的提交信息,然后是差异。要抑制差异,请添加-s 选项(又名--no-patch)。
        • 你是对的。所以最好的方法很简单:git show -s --format='%ae' HASH
        • 或者同样简单的git log -1 --format='%ae' HASH 是另一种选择:)
        猜你喜欢
        • 2013-01-14
        • 2018-05-27
        • 2018-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多