gitでタグをチェックアウトする

このエントリーをはてなブックマークに追加

git で branch や tag を利用してバージョンを作成したりしているのですが、 tag を使ってバージョンを作成していた時に、その tag を チェックアウト(checkout) する方法がぱっと出てこないので、調べてみることにした。

タグのチェックアウト

タグ(tag)を使うことで、その時点のバージョンを利用したり、元に戻したりなどができるようになります。ブランチでもいいのですが、リリース作成するたびに tag を利用することが多いので、今回は tag のチェックアウト方法です。

ブランチを作成してチェックアウト

$ git checkout -b tag refs/tags/tag

ブランチを作成する場合は、 -b のオプションと ブランチ名が必要になります。上記の例では tag と書いてますが、おそらくバージョン名だったりが入ってくると思います。

ブランチを作成しないチェックアウト

$ git checkout refs/tags/tag

ブランチを作成しないで戻す場合は refs/tags/tag のみでチェックアウトをするだけです。

タグ一覧ととタグをつける方法

現在付いているタグの一覧をみる場合は

$ git tag

と入れるだけです。

そして、リリース時などでタグを付ける場合は

$ git tag -a tagname

これを入力するとエディタが開いてタグをつけるときのコメントの入力になります。

コメントもワンライナーでコマンド時点で入れてしまいたい場合は

$ git tag -a tagname -m 'comment'

もっと簡単なタグの付け方

もっともっと簡単なタグとしてはオプションも何もつけずに名前を入れることです。

$ git tag tagname

注釈コメントなしに単純に特定のコミットにタグを紐付ける場合はこれでタグつけると簡単です。

過去のコミットログにタグを付ける方法

過去のコミットログにタグを付ける場合は、タグの名前付けの最後にコミットを入力します

ログの簡単な確認方法は

$ git log --oneline

コミット名も短縮されて表示されるので、それを利用します。

過去のコミットにタグをつける

$ git tag -a tagname -m 'comment' xxxxxxx

xxxxxxx がコミット名が入るところです。

タグをリポジトリにプッシュ

タグを付けたあとに共有する場合はタグをリポジトリにプッシュします

$ git push origin tagname

複数のタグをつけていて、まとめて送る場合は --tags オプションをつけて push します。

$ git push origin --tags

タグを削除

タグを付け間違いやタイポしてしまっていた場合、まずはローカルのタグを削除します。削除のオプションは -d

$ git tag -d tagname

リポジトリに push してしまっている場合は一度リポジトリのタグを削除します。

$ git push origin :refs/tags/tagname

再び付け直す場合はタグを付ける方法をもう一度行うだけです。

リポジトリのタグを消す方法はコロンでタグを指定する他にも --delete オプションの push でも削除できるようです。

$ git push --delete origin refs/tags/tagname