Skip to main content

Git Tag

Tags are ref's that point to specific points in Git history. Tagging is generally used to capture a point in history that is used for a marked version release (i.e. v1.0.1). A tag is like a branch that doesn’t change. Unlike branches, tags, after being created, have no further history of commits.

Types of Git Tags​

There are two types of tags in git.

  1. Annotated tag
  2. Light-weighted tag

Both of these tags are similar, but they are different in case of the amount of Metadata stores. If you are pointing and saving a final version of any project, then it is recommended to create an annotated tag. But if you want to make a temporary mark point or don't want to share information, then you can create a light-weight tag.

1. Annotated Tags​

Annotated tags are tags that store extra Metadata like developer name, email, date, and more. They are stored as a bundle of objects in the Git database. All this data is important for a public release of your project.

Similar to commits and commit messages Annotated tags also include a more descriptive tag-message or annotation.

Syntax:

git tag <tag name> -m "Tag message"

2. Light-Weighted Tags​

Lightweight tags are the simplest way to add a tag to your git repository because they store only the hash of the commit they refer to. They are created with the absence of the -a, -s, or -m options and do not contain any extra information.

Lightweight tags are essentially "bookmarks" to a commit, they are just a name and a pointer to a commit, useful for creating quick links to relevant commits.

Syntax:

git tag <tag name>

Additional Commands​

Listing Tags​

The git tag command is used to list all the available tags from the repository.

Example:

git tag

Output:

projectv1.0
projectv1.1
projectv1.2

Tag Details​

The git show <tag identifier> cammand is used to display the details of a particular tag.

Example:

git show projectv1.0

Output:

tag projectv1.0
Tagger: Gitopia <[email protected]>
Date: Sat Oct 23 20:19:12 2021 +0530

version 1.0

commit 9fceb02d0ae598e95dc970b74767f19372d61af8
Author: Gitopia <[email protected]>
Date: Sat Oct 23 20:19:12 2021 +0530

Change version number

Pushing Tags​

We can push tags to a remote server project. It will help other team members to know where to pick an update. It will show as release point on a remote server account. The git push command facilitates with some specific options to push tags.

You can git push the tag individually, or you can run git push --tags which will push all tags at once. It can be done similarly to pushing the branches.

Example:

git push origin projectv1.0

Deleting Tags​

Deleting tags is a straightforward operation. Passing the -d option and a tag identifier to git tag will delete the identified tag.

Example:

git tag -d projectv1.1


You can learn more about the git tag command and its options in git-scm's documentation.