2024/02/13 22:13:39

Git tag

[git]

コミットに名前を付けてスナップショットとして保存する

タグ

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
サイト内検索