I'm available for challenging remote roles. Let's get in touch.

Tagging with Git

Learn what Git tagging is and how to use it to tag your software releases.

Flavio Silva
Flavio SilvaOctober 21, 2014
Tagging with Git
Image by Freepik

If you're new to Git or want to know a little more about its basics and its distributed model, do not hesitate to read the Introduction to Git article.

Tagging is another great feature Git provides. A tag acts as a pointer to an specific commit, easing its identification. Usually it's used to mark release points on codebases (e.g. v0.1.0, v1.0, etc).

Do not type the $ sign you see in the command examples in this article. That's just an indicator that you should run the command that follows it in your command line tool.

Lightweight and annotated tags

Git provides two types of tags: lightweight and annotated. "A lightweight tag is very much like a branch that doesn't change — it's just a pointer to a specific commit." (Chacon 39)

To create a lightweight tag you run:


$ git tag tag-name

After that you can go to an specific tag by running:


$ git checkout tag-name

That's much easier than checking out an specific commit by its hash ID right?

But usually it's recommended that you create annotated tags. Annotated tags contain the tagger's name and email, the date and a message, and they can be signed and verified with GNU Privacy Guard (GPG).

To create an annotated tag you run:


$ git tag -a tag-name -m "tag message"

Listing your tags

To list all your tags you run:


$ git tag

And to see more information about any specific (annotated) tag:


$ git show tag-name

Sending your tags to tour remote repository

By default, the $ git push command doesn't send tags to remote repositories. To send them you have to do the same thing as with branches:


$ git push remote-name tag-name

If you have several tags and want to send them all at once:


$ git push remote-name --tags

Conclusion

That's it. Git makes it super easy and fast to tag your codebase. Tagging is a best-practice on not trivial projects, as it makes it very simple to find release points on your codebase. Every time you're going to make a release, deploying code to a server, consider tagging your codebase before doing so.

How to install Git with Homebrew on macOS
Branching and merging with Git
Remote and tracking branches with Git
Basic Git commands explained
Git workflow
Introduction to Git

Git
Pro Git Book

Bibliography

Chacon, Scott. Pro Git. Apress, 2009.

Leave a comment using your GitHub account

© 2024 Flavio Silva