Massimo Caliman
by Massimo Caliman
1 min read


  • git


  • tag

In today’s programming landscape, version control systems (VCS) are indispensable. It’s hard to imagine a time without them, yet some of us can remember the pre-VCS era – a time when managing code changes was significantly more challenging. Nowadays, with the advent of VCS, developers can efficiently track changes, collaborate seamlessly, and maintain a clear history of their codebase.

One of the core functionalities of a VCS like Git is tagging. Tagging allows you to mark specific points in your codebase history, often designating a significant release or milestone. Git offers two types of tags: annotated tags and lightweight tags. This article focuses on the benefits and creation of annotated tags, which provide additional information and the reference point.

Understanding Annotated Tags

Nowadays, annotated tags play a crucial role in maintaining organized and well-documented codebases. They not only provide a reference point in your code history but also store additional information. This information, typically a descriptive message, can explain the purpose or significance of the tagged version. By incorporating annotated tags into your development workflow, you can enhance the clarity and traceability of your project’s evolution.

Creating Annotated Tags with Git

The following command creates an annotated tag in your Git repository:

git tag -a <tag_name> -m "<comment>"


  • -a: specifies the creation of an annotated tag.
  • -m: introduces the comment that will be associated with the tag.

Once you’ve created your annotated tag, you can share it with collaborators by pushing it to a remote repository.

Here’s the command:

git push origin <tag_name>

Benefits of Annotated Tags

Clear Context: The comment associated with an annotated tag provides valuable context for understanding the tagged version’s purpose or content.

Improved Collaboration: Sharing annotated tags streamlines collaboration by giving your team a clear reference point with additional information. Version Tracking: Annotated tags serve as historical markers, allowing you to easily revisit specific versions of your codebase.

By effectively utilizing annotated tags, you can enhance your project’s organization, clarity, and collaboration for your development team. In today’s collaborative development environment, annotated tags have become an essential tool for maintaining a well-managed and well-documented codebase.

To list stored tags in a repo execute the following:

git tag