Git tag ======== {{tag: git}} コミットに名前を付けてスナップショットとして保存する -------- {{TOC 3-}} ### タグ ### tag はブランチのようなものですが、変更が出来ません。 あるコミット時点のスナップショットです。 git では、コミットに名前やメッセージや署名を付与して、タグを作成することが出来ます。 一般的には、リリース時点のスナップショットを保存するためにタグを利用していることが多いと思います。 ### tag の表示 ### 現在のタグ一覧を出力します。表示順はアルファベット順です。 $ git tag パターンを指定してタグを表示するには -l を使用します $ git tag -l '0.01*' 0.01 0.01beta ### tag を打つ ### 一番簡単にタグを打つには、git tag のあとにタグ名を渡すことです。 $ git tag TAG_NAME メッセージ付きでタグを打つには以下のようにします。 $ git tag -a TAG_NAME -m 'MESSAGE' -m を省略すると、エディタが起動し、そこでメッセージを入力できます。 $ git tag -a TAG_NAME 署名付きでタグを打つには、-a を -s にします。 $ git tag -s TAG_NAME -m 'MESSAGE' #### タグの署名を検証する #### $ git tag -v TAG_NAME ### 過去のコミットにタグをつける ### コミットのハッシュを見つけます。 $ git log --pretty=oneline c436b76f131ea6d409a3082505c24ddc3ce0142f added script_files in Build.PL 6c46cfbaa3859ef774cf011685353617c6daacd7 lil fixed 7f6e6c13dec000f93e44d228b441626d230baa81 prepare for cpan dist 0cda755a1a78fd875efd6bf2323fefe30a83bf16 initial commit ハッシュを渡してタグをつけます。 $ git tag -a TAG_NAME 7f6e6c13dec000f93e44d228b441626d230baa81 ### タグをリモートに送信する ### $ git push origin TAG_NAME 手元にあるタグのなかで、リモートサーバーに存在しないものをまとめて転送する --tags オプションが便利です。 $ git push origin --tags ### タグからブランチを作成 ### TAG_NAME の状態をチェックアウトして、BRANCH_NAMEブランチを作成して切り替える。 $ git checkout -b BRANCH_NAME TAG_NAME ### タグを削除する ### $ git tag -d TAG_NAME リモートのタグを消すには以下のようにする。 $ git push origin :refs/tags/TAG_NAME