[Git] タグをつける

Gitでは区切りの良いバージョンに、それだとわかる目印をつけることができ、それを「タグ」と呼びます。

タグをつける

git tag [タグ名] でタグをつけることができます。以下はv1.0.1という名前のタグを作成しています。

$ git tag v1.0.1

タグが正常に作成されたかは、タグの一覧を表示し確認することができます。

$ git tag
v1.0.1

注釈付きタグ

タグをつける際には、メモ書きを同時につけることもできます。 コマンドは git tag -am "[注釈]" [タグ名] になります。

$ git tag -am "release 2016/04/01. bugfix ver" v1.0.2

注釈付きのタグの一覧を表示するにはgit tag -nと打ちます。

$ git tag -n
v1.0.2          release 2016/04/01. bugfix ver

もしこの書き方が気持ち悪い場合は git tag -a [タグ名] -m [注釈] とすることも可能です。

過去のcommitにタグをつける

git checkout [チェックサム]とした後にgit tag [タグ名]としてももちろん良いのですが、

$ git log --pretty=oneline
34dd42238d58dfcece4a1a78a4ca6145c6f38725 4th commit.
a1019b6b2460a272dba1ad0ef0f5074baafc8fa6 2nd commit.
9c45bea8ac9274aefe0e53e2ca22c42802764cc3 Initial commit.

$ git checkout a1019b6b2460a272dba1ad0ef0f5074baafc8fa6
$ git tag foobar

タグを作成する際に、チェックサムを指定することでも同じことが実現できます。

$ git tag -a foobar -m "comment" a1019b6b2460a272dba1ad0ef0f5074baafc8fa6

トラブルシューティング

pushされない

通常、普通にpushしただけではtagはリモートに送信されません。タグをpushしたい場合には --tags オプションを指定します。

$ git push --tags
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 233 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To /home/katsube/Work/test.git
* [new tag]         v1.0.1 -> v1.0.1
* [new tag]         v1.0.2 -> v1.0.2
* [new tag]         v2.0.0 -> v2.0.0

これまで送信されていないタグがすべて送信されます。

参考