git log show one commit id only

rkevx21 picture rkevx21 · Jul 16, 2015 · Viewed 66k times · Source

I need some help. It is possible to only show one commit id? Since git log -3 show the log from 1 - 3, I just want to show only 3. What possible command will match for it?

I use the command

       git log -3 --pretty=format:"%h"

the result is

       ffbef87
       cf0e073
       1c76c5d

I only want to display the 1c76c5d only.

Answer

Enrico Campidoglio picture Enrico Campidoglio · Jul 16, 2015

You can use git show referencing the third parent from your current commit (i.e. the second ancestor from HEAD). Also, git show accepts the same format string as git log:

git show HEAD~2 --pretty=format:"%h" --no-patch

Update (2016-12-01)

An even better way would be to use the rev-parse plumbing command with the --short option to output the abbreviated (7 characters) commit SHA-1:

git rev-parse --short HEAD~2

Or you could also specify the exact length of the commit SHA-1:

git rev-parse --short=4 HEAD~2