タグ(Tag)
「スナップショット」には、「タグ」をつけることができます。「タグ」は「スナップショット」に付ける名前みたいなものです。
リリースしたソフトウェアのビルドに使用した「スナップショット」など、重要な「スナップショット」に「タグ」をつけると、後で「スナップショット」を有効に活用できます。
タグの例
例えば、以下のようにタグを作成します。それぞれのアプリのバージョンに対応した「タグ」です。
タグ名 | 概要 |
---|---|
Ver1.0 | アプリのバージョン1.0のリリースで使用したスナップショット |
Ver2.0 | アプリのバージョン2.0のリリースで使用したスナップショット |
Ver3.0 | アプリのバージョン3.0のリリースで使用したスナップショット |
「タグ」から「スナップショット」を特定できるため、バージョン1.0で使用したプロジェクトのファイル群が欲しければ、タグ名の「Ver1.0」を指定してプロジェクトのファイル群を取得できます。
タグはGitオブジェクトの参照
「タグ」は「Gitオブジェクト」への参照です。通常は「コミットオブジェクト」を指し「スナップショット」を特定するために利用されますが、「ブロブオブジェクト」など他の「Gitオブジェクト」を指すこともできます。
2種類のタグ
「タグ」には、以下の2種類の「タグ」があります。- 軽量タグ(Lightweight Tag)
- 注釈付きのタグ(Annotated Tag)
「スナップショット」に「タグ」をつける際、この2種類の「タグ」は明確に区別されます。
明確に区別されますが、混在して利用することはできます。
違いは、「タグ」に含まれる情報です。
軽量タグ(Lightweight Tag)
「軽量タグ」の情報には、「スナップショット」につける名前が含まれています。「注釈付きのタグ」と比べると、「タグ」に含まれる情報は非常に少ないです。
「タグ」に含まれる情報の少なさから、一時的に使用する時や、ユーザーが自分の環境でタグを付けたいときに利用します。
注釈付きのタグ(Annotated Tag)
「注釈付きのタグ」には、「スナップショット」につける名前や、「タグ」をつけたユーザーの情報や「タグ」の概要など多くの情報が含まれています。「タグ」をつけたユーザーのPGPを含むこともできます。
サーバーのリポジトリーなど、本番運用する「スナップショット」に「タグ」をつけるときは、「注釈付きタグ」を利用します。
軽量タグと注釈付きタグの扱いについて
「git」コマンドでは、「軽量タグ」と「注釈付きタグ」は区別されます。「git」コマンドによっては、デフォルトで「注釈付きタグ」のみを操作対象にするコマンドもあります。
もちろんオプションを指定することで、「軽量タグ」も操作対象にすることができます。
これは、「軽量タグ」と「注釈付きのタグ」の使用目的から、多くのユーザーが操作対象として期待するであろう「タグ」が、「注釈付きタグ」であるためです。
サーバにタグを反映するときは
「タグ」をサーバに反映する時は、「タグ」の反映を明示する必要があります。「タグ」をサーバに反映するコマンドを、別途実行する必要があるということです。