In git, a βnormalβ (annotated, hard) tag is an object for itself, containing metadata and the SHA1 of the object that it has. The git cover section on the git object model has a pretty picture. (Scroll down).
So, when you use show-ref for a regular tag, it usually provides you with information about the tag object. Using the parameter, -d/--dereferenceit will dereference the tag in the object to which the tag belongs, and provide information about it instead.
And notes about lightweight and annotated tags if you do not know: lightweight tag is created by using git tag <tag name>(ie without any of the metadata parameters, such as -a, -s, or -u). This is not a tag object at all, but simply a reflector pointing directly to the object you marked. If you provide one of these parameters, you bind the metadata to the tag, so git creates a tag object to store it.
source
share