How to tell which commit a tag points to in Git?
回答1
One way to do this would be with git rev-list
. The following will output the commit to which a tag points:
$ git rev-list -n 1 $TAG
NOTE This works for both Annotated and Unannotated tags
You could add it as an alias in ~/.gitconfig
if you use it a lot:
[alias]
tagcommit = rev-list -n 1
And then call it with:
$ git tagcommit $TAG
Possible pitfall: if you have a local checkout or a branch of the same tag name, this solution might get you "warning: refname 'myTag' is ambiguous". In that case, try increasing specificity, e.g.:
$ git rev-list -n 1 tags/$TAG
WARNING This only works for Unannotated tags Therefore it is safer to use the accepted answer which works in the general case https://stackoverflow.com/a/1862542/1586965
git show-ref --tags
For example, git show-ref --abbrev=7 --tags
will show you something like the following:
f727215 refs/tags/v2.16.0
56072ac refs/tags/v2.17.0
b670805 refs/tags/v2.17.1
250ed01 refs/tags/v2.17.2
git rev-parse <tag>
? Orgit rev-list -1 <tag>
? – Jakub Narębski Dec 7 '09 at 23:47git rev-parse $TAG
returns the SHA1 of the tag object, not the commit to which it points.git rev-list -1
works, though. – mipadi Dec 8 '09