Show which git tag you are on?
I'm having trouble finding out which tag is currently checked out.
When I do:
git checkout tag1
git branch
I can't seem to find out which tag I'm on. It only logs:
* (no branch)
master
Is it possible to find out which tags are checked out? In the above example, this would be tag1
.
Solution 1:
Edit: Jakub Narębski has more git-fu. The following much simpler command works perfectly:
git describe --tags
(Or without the --tags
if you have checked out an annotated tag. My tag is lightweight, so I need the --tags.)
original answer follows:
git describe --exact-match --tags $(git log -n1 --pretty='%h')
Someone with more git-fu may have a more elegant solution...
This leverages the fact that git-log
reports the log starting from what you've checked out. %h
prints the abbreviated hash. Then git describe --exact-match --tags
finds the tag (lightweight or annotated) that exactly matches that commit.
The $()
syntax above assumes you're using bash or similar.
Solution 2:
This worked for me git describe --tags --abbrev=0
Edit 2020: As mentioned by some of the comments below, this might, or might not work for you, so be careful!
Solution 3:
Show all tags on current HEAD (or commit)
git tag --points-at HEAD