My notes on using tag feature of Git.
We can use git-tag to create a memorable name for a specific commit, for example, v1.0, v2.0.
Create tags#
Lightweight and annotated tags#
There are two different types of tag: lightweight and annotated tag.
To create lightweight tags, do not use -a option:
git tag v0.5
To create annotated tags, use -a option and -m (for tag message):
git tag -a v0.5 -m "some info about this commit"
For annotated tags, when we use git show {tag-name}, the tag message will also be displayed.
Tag a specific commit#
To tag a specific commit, we can provide its commit hash:
# in this example, 8a5cbc4 is the commit hash.
git tag -a v1.2 8a5cbc4 -m "some information related to this tag"
List tags#
To list tags, use git tag -l or just git tag.
Git-tag also supports globing for tags matching a pattern.
For example, to list all tags in version 1.1 series, use git tag -l "v1.1.*".
Show a tag#
To show a tag, use git show {tag_name}, for example, git show v1.0.
Push tags to remote#
To push a tag to remote repo, we have to explicitly push it.
git push origin {branch-name} does not work in this case.
# this will push tag v1.2 to origin
git push oirgin v1.2
To push all tags to remote, use command git push origin --tags.
Delete a tag#
To delete a tag, use git tag -d {tag-name}, for example, to delete tag v1.2, we use git tag -d v1.2.
To delete a tag in remote repo, use git push {remote-name} -d {tag-name}.