Name

tag

Synopsis

git tag [-a|-s|-u gpg-key-id] [-f] [-m msg | -F msg-file]
tagname commit
git tag -d tagname
git tag -l [glob-pattern]
git tag -v tagname ...

Manipulate tags. A tag is simply a user-friendly name for a particular commit. The command takes one of four forms:

git tag [-a|-s|-u gpg-key-id] [-m msg | -F msg-file] tagname commit

Create a new tag named tagname based on the given commit. With -a, the tag is annotated (i.e., it has a commit message attached) but not signed. With -s or -u, the tag is annotated and signed with the default or specified gpg private key, respectively. With -m or -F, use the given commit message or filename containing the commit message, respectively. If none of -a, -s, or -u is specified, the tag has no annotation. (Tags you shared with other people should always have an annotation and should usually be gpg signed.)

git tag -d tagname

Delete the given tagname from the local repository. Note that if the tag has already been pushed to a remote repository, there is no way to make sure everyone erases it.

git tag -l [glob-pattern]

List all the tags matching the glob-pattern. If glob-pattern is omitted, lists all the tags.

git tag -v tagname ...

Verifies the gpg signature of each requested tag.

Examples

To mark the current version with a v1.1 tag and sign it with your gpg key:

$ git tag -s v1.1 HEAD

To delete the v1.1 tag (only useful if it has never been pushed):

$ git tag -d v1.1

To list all tags for version 1.x:

$ git tag -l 'v1.*'

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.