开发者

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'
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜