Git FAQ

Frequently asked questions around Git and Version Control.

How to Checkout Tags in Git

In Git, tags are used to mark specific commits, e.g. release versions. This is also the big difference between tags and branches: while a branch pointer moves when additional commits are made, a tag remains fixed on the specified revision.

In this short article, we'll now take a look at how to checkout a tag in Git.

The Git Cheat Sheet

No need to remember all those commands and parameters: get our popular "Git Cheat Sheet" - for free!


Using git checkout with Tags

The well-known git checkout command is mainly used for handling branches, but it can also be used for tags:

$ git checkout v2.0

By providing the tag's name as a parameter, Git will checkout that tag's revision.

However, this might not be what you actually wanted, because your local repository is now in a "Detached HEAD" state! This means that the HEAD pointer is currently NOT on a branch, but on a specific revision. If you create additional commits in this state, they will not be associated with any branch (because no branch is currently checked out)! In such a scenario, it's very easy to lose your new commits!

It's much more likely that would like to create a new branch, based on the tag's commit. You can simply add the -b flag and provide a name for the new branch:

$ git checkout -b new-branch v2.0

You will then have a brand new branch named "new-branch" that's based on the revision that the "v2.0" tag points at.

Tip

Checking Out Tags in Tower

In case you are using the Tower Git client, you can simply drag & drop the tag in Tower's sidebar to create a new branch from it and check it out:

Learn More

About Us

As the makers of Tower, the best Git client for Mac and Windows, we help over 100,000 users in companies like Apple, Google, Amazon, Twitter, and Ebay get the most out of Git.

Just like with Tower, our mission with this platform is to help people become better professionals.

That's why we provide our guides, videos, and cheat sheets (about version control with Git and lots of other topics) for free.