Reputation: 5137
Running the command git ls-remote
lists the following entries:
e6c1ddea6ee8eefa9e96e349dd4fad4a48c16448 refs/tags/1.1
1a3b5ae3a50ca2f24e5cd917cbf51d371f1dd01e refs/tags/1.1^{}
81901877c5add523cd4a4bb8f51ad3bbbacbd686 refs/tags/1.2
4681b1ae6ec71301019da13d1790c2f808c2c553 refs/tags/1.2^{}
What does the ^{}
mean in the output?
Upvotes: 5
Views: 301
Reputation: 488203
They are not part of the name, but rather an indicator to git rev-parse that it should dereference a tag (and, with any luck, find a commit, although in theory the tag could point to another tag, or even a tree or blob; but if it points to another tag, the ^{}
keeps on peeling the onion layers until it hits a non-tag).
git ls-remote
(or really, the remote itself) uses this syntax to send you the commit-ID. (I'm not quite sure what happens if the tag ultimately points to a tree or blob.)
Upvotes: 5