【GitHub】タグ管理が出来る「tag」コマンドについて紹介します【2種類の方法を解説】
こんにちは、ちくたっく(@tictak_py)です。
今回はgitコマンドの一つ「tag」コマンドについて紹介していきたいと思います。
「タグ」という言葉から何となく想像出来るかもしれませんが、コミットしたファイルに「タグ」を付与して管理しやすくする機能のことを言います。
主に開発したサービスのリリースポイントとして利用することが多い印象ですが「タグ付けをしてみたい!」という方は参考にしてみてください。
こんな方に読んで欲しい記事です
- コミットファイルに「タグ付け」が出来るようになりたい方
- GitHubで使われている基本的なコマンドを学んでいきたい方
GitHubを確認してみると、以下赤枠のように「tags」という部分がありますね。
今はタグ設定していないので「0 tags」となっていますが、今回は「タグをローカルで新規作成」して「GitHubに共有」するところまでを目的としていきます。
【GitHub】タグ管理が出来るtagコマンドの紹介
【tagの作成方法①】注釈付き版(annotated)
早速「tag」コマンドを使ってタグを作成していきます。
タグには「注釈付き版」と言われるタグと「軽量版」と言われるタグの2種類があります。
両者の違いを簡単に言ってしまえば、タグに関する情報(タグ付けした人、日時、コメント)があるのが「注釈付き版」、ないのが「軽量版」です。違いをコマンドを通じて確認していきます。
注釈(コメント)付きのタグを作る方法は「git tag -a <タグ名> -m <メッセージ>」となります。タグ名は「今日の日付_ver1」として作成します。
作成後、「git tag」コマンドを入力することで、登録済のタグ一覧を確認することが出来ます。新規に作成したタグ「20200721_ver1」が表示されていることがわかりますね。
【tagの作成方法②】軽量版(lightweight)
続いて、軽量版のタグを作成する方法を見ていきます。
軽量版のタグを作る方法は「git tag <タグ名>」です。
先ほどと違いがわかるように、タグ名は「今日の日付_ver2」にして作成してみます。
先ほどと同様に、「git tag」コマンドを入力して登録済のタグを確認してみると、「20200721_ver2」が新たに追加されていることがわかります。
「タグを作成する方法としては、結局どっちの方がいいの?」と思われる方もいるでしょうが、基本的には「注釈付き版」を使えばいいかなと思います。 タグ情報があるに越したことはないので。
【特定tagの情報確認】「git show」コマンド
登録したタグをGitHubで共有する前に、タグ関連の情報を取得出来るコマンドを1つ紹介しておきます。
それは、「git show <タグ名>」というコマンドです。
先ほど登録した2つのタグ名を入力してみた結果が以下となります。
すると、パッと見た感じで「情報量」が違うことがわかります。
タグを付けた人、日時、メッセージなどを確認したい場合には、「注釈付き版」を用いる必要があるので、この観点からも基本的に注釈付き版でタグ作成した方がいいとも言えますね。
【GitHubに共有】「git push」コマンド
では最後に、登録したタグをGitHub上でも確認出来るように共有(送信)していきましょう。GitHubに共有するためには、コミットファイルの共有と同じように「push」コマンドを用いる点がポイントとなります。
タグをリモートリポジトリ(GitHub)に送信するコマンド
- 【個別に送信する場合】 git push <リモート名> <タグ名>
- 【一括で送信する場合】 git push <リモート名> – – tags
今回は、2つタグを登録したので、まとめてGitHubに送信する方法を使っていきます。
その後、GitHubを確認してみると、以下のように「2 tags」となっていることがわかります。
「tags」をクリックしてみると、以下のような情報が表示されます。
ローカルで登録したタグが表示されている点(赤枠部分)と、コミットファイルにタグ付けされている点(赤線部分)を確認してもらればOKです。
ローカルでタグ付けした時にコミットファイルは指定していませんでしたが、そのような場合は「今いるブランチの最新のコミット」にタグがくっつくようになっています。
今回コマンドでは紹介していませんが、後から特定のコミットファイルにタグを付与したい場合には以下のようなコマンドを入力してみてください。
後付けでタグを付与したい場合【参考】
- 【コマンド】 git tag <タグ名> <コミット名>
さいごに
今回は、git上でタグ管理をする「tag」コマンドについて紹介してきました。
頻繁に使うわけではありませんが、知ってると便利なコマンドの一つになるので、必要に応じてタグ付けを出来るようにしてみてください。
では今回はこのへんで。