Организация тегов на git

Теги: git 

Статья документации

Создавать метку надо сразу после коммита.

$ git tag
v1.0
v2.0
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
v1.8.5-rc3
v1.8.5.1
v1.8.5.2
v1.8.5.3
v1.8.5.4
v1.8.5.5

Анотированные метки

$ git tag -a v1.4 -m "my version 1.4"
$ git tag
v0.1
v1.3
v1.4

Просмотр метки всместе с коммитом

$ git show v1.4
tag v1.4
Tagger: Ben Straub <ben@straub.cc>
Date:   Sat May 3 20:19:12 2014 -0700

my version 1.4

commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    Change version number

Посмотреть все метки и все аннотации

git tag -n

Легковесные метки

$ git tag v1.4-lw
$ git tag
v0.1
v1.3
v1.4
v1.4-lw
v1.5
$ git show v1.4-lw
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    Change version number

Отправка меток

$ git push origin v1.5
Counting objects: 14, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done.
Total 14 (delta 3), reused 0 (delta 0)
To git@github.com:schacon/simplegit.git
 * [new tag]         v1.5 -> v1.5
$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@github.com:schacon/simplegit.git
 * [new tag]         v1.4 -> v1.4
 * [new tag]         v1.4-lw -> v1.4-lw

Удаление меток

$ git tag -d v1.4-lw
Deleted tag 'v1.4-lw' (was e7d5add)

С удаленного репозитория (метод №1)

$ git push origin :refs/tags/v1.4-lw
To /git@github.com:schacon/simplegit.git
 - [deleted]         v1.4-lw

С удаленного репозитория (метод №2)

$git push origin --delete <tagname>

Метки для конкретного коммита

git tag <tag_name> <commit_sha>
git tag -a <tag_name> <commit_sha> -m "message"

Просмотр всех коммитов с метками

git log --oneline

9127753 (HEAD -> master) Commit 3
f2fcb99 (feature) Commit 2
cab6e1b (origin/master) master : initial commit

Создание тегов для текущего или предыдущих коммитов

git tag <tag_name> HEAD   # for the last commit
git tag -a <tag_name> HEAD -m "message"

git tag <tag_name> HEAD~1  # for the commit before HEAD
git tag <tag_name> HEAD~2  # for two commits before HEAD

Больше документации в списке [git]