What is dereferencing in the context of git show-ref -d

Here is the man page for git show-ref -d . They also have an example below. However, I can not understand what is dereferencing?

+5
source share
1 answer

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.

+8
source

All Articles