How to display metadata about single commit in git?
I'd like to parse meta information from git repository. I'd like to fetc开发者_Python百科h 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)
git log -n 1 --format='%an'
-n 1
restricts the log to a single commit.
Does the same as git show --quiet
, although I prefer it a bit since it is documented on man git-log
while --quiet
is not documented on man git-show
as of 2.17.
Also note that you can golf even better with show with the short form of --quiet
:
git show -q --format='%an'
精彩评论