You already know that each object in the repository has a unique SHA-1, as well as an associated type and content. (From the command line, use git cat-file -t sha1 to see the type of the given object, and git cat-file -p sha1 to see the contents, possibly with some nice print, but overall pretty coarse in format.)
The annotated tag object in the git repository contains SHA-1. (I hope this part is clear and undeniable. :-))
Typically, SHA-1 inside an annotated tag object is called the "target identifier", and an object called the "target" of the tag is the identifier of the commit object. In this case, everything is still quite clear and simple. But what if it is not?
In particular, the purpose of the annotated tag may be another annotated tag. If so, you should get this second annotated tag, which contains another target identifier. You must repeat this process by separating the tag after the tag until you arrive at an object without tags. Ideally, this will be a fix, but, of course, it can be any of the remaining three types of objects (it is not clear what it means to mark a tree or blob, although only fixing makes sense).
This “peeling” process is compared to peeling the onion and where the phrase comes from.
Note that if you are writing a repository repository checker, it might be wise to make sure that the tag chain is not working (for example, what if the 1234567 tag has 7654321 as its target and 7654321 is an annotated tag with 1234567 as its target?). (Edit: as remram notes in a comment, this requires “hacking” SHA-1. This means that it is practically impossible for this to happen in practice, just as you will not get a tree that recursively points to itself.)
Edit: how to make a tag pointing to another tag:
... make a repo with a commit that can be tagged ... $ git tag -a anno1 -m 'annotated tag' $ git tag -a anno2 anno1 -m 'another tag' $ git cat-file -p anno1 object d4ec8b2d465de0c087d645f52ba5040586b8ce0f type commit tag anno1 tagger Chris Torek < chris.torek@gmail.com > 1413933523 -0600 annotated tag $ git cat-file -p anno2 object cd1e0637c348e46c645819ef6de36679052b4b7f type tag tag anno2 tagger Chris Torek < chris.torek@gmail.com > 1413934239 -0600 another tag