Search code examples
gitcommitsha1author

How to get (only) author name or email in git given SHA1?


I would like to check for author's e-mail and name, surname to verify who's pushing to my repo.

Is there any way that I can come up with a command in git to show commiter's name/e-mail given only SHA1 of the commit?

This is what I came up with but it's far from ideal solution (the first solution is for git hook that's why it's using 2 SHA1s with rev-list. The second one simply uses 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 

Solution

  • You can use the following command:

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

    It works with git show as well. You need to include -s to suppress the diff.

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