Git branch/tag name with ^{}

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?

  • 'Go Get' Private Repo from Bitbucket
  • Git clear remote repository
  • How to merge git commits in the develop branch to a feature branch
  • git and gerrit issue while review
  • Is it possible to trigger Jenkins from one specific branch only?
  • git reset --hard -q produces errors about whitespace
  • cannot run hooks/post-update: No such file or directory
  • Which merge strategies does mercurial use?
  • How to apply diff between commits to current head in git?
  • Integrator workflow, Is fetch-rebase-push safe for remote repos?
  • git merge in one command
  • Git Working Directory to Eclipse Workspace
  • One Solution collect form web for “Git branch/tag name with ^{}”

    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.)

    Git Baby is a git and github fan, let's start git clone.