How to display metadata about single commit in git?

I'd like to parse meta information from git repository. I'd like to fetch a single information for a commit, as in

git log --pretty=format:%an HEAD^..HEAD

Problem is, this is not working for the first commit in repository.

git show --pretty=format:%an HEAD^..HEAD

is also close to what I want, except I'm not interested in parsing actual diff.

Any idea how to make git log work for the first commit or how to disable git show from showing commit content?

Or, is there any better way how to retrieve metadata about given commit?


Supply the quiet option to show to suppress the diff.

git show --quiet HEAD

So for your example, author name:

git show --quiet --pretty=format:%an

git --no-pager show -s --format='%an <%ae>' COMMIT
  • --no-pager supresses the pager
  • -s suppresses diff output; short for --no-patch
  • %an is the author name
  • %ae is the author email

(Taken from quora.com)