Git tag

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

External

Internal

Overview

Create, list, delete or verify a tag object. To check out the commit associated with a specific tag into a detached HEAD, see git checkout.

By default, tags are not pushed to remote server.

Ensuring All Tags Are Accessible from the Local Workarea

To make sure all the tags are accessible from the local workarea, run:

git fetch --all --tags

If tags are not explicitly fetched, you may run in the following situation even after running git fetch without other arguments.

git checkout my-tag
error: pathspec 'my-tag' did not match any file(s) known to git

List Tags

Tags can be listed based on a given pattern. All tags are listed if no pattern is given.

git tag [-l] [name-pattern]
git tag
git tag -l

Display the Commit a Tag Points To

git rev-list -n 1 <tag-value>

Also see:

git rev-list

Create a Tag

git tag '<tag-name>'

Pushing a Tag to a Remote Server

By default, the git push command doesn’t transfer tags to remote servers. You will have to explicitly push tags to a shared server after you have created them. This process is just like sharing remote branches  - you can run git push origin <tagname>:

git push origin <tagname>
git push origin release-1.2.1

Pushing All Tags

git push origin --tags

Alternatively:

git push --follow-tags

or set "push.followTags" to do this automatically on each push.

Remove a Tag

Remove a Tag Locally

git tag -d <tag-name>

Remove a Tag Remotely

If tag was pushed to a remote repository and now it should be removed, deleting it locally and then push --follow-tags is NOT sufficient.

You need to remove it locally, then:

git push origin :refs/tags/<tag-name-to-remove>