The last object to be analyzed is the tag object. There are three different kinds of tag: a lightweight (just a label) tag, an annotated tag, and a signed tag. In the example repository, there are two annotated tags:
$ git tag v0.1 v1.0
Let's take a closer look at the v1.0 tag:
$ git cat-file -p v1.0 object f55f7383b57ad7c11cf56a7c55a8d738af4741cetype committag v1.0tagger John Doe <john.doe@example.com> 1526017989 +0200We got the hello world C program merged, let's call that a release 1.0
As you can see, the tag consists of an object—which, in this case, is the latest commit on the master branch—the object's type (commits, blobs, and trees can be tagged), the tag name, the tagger and timestamp, and finally the tag message. ...