軽量タグ (Lightweight Tag) のテスト
前のステップでは、注釈付きタグ (Annotated Tag) を扱いました。今度は、軽量タグ (Lightweight Tag) を調べてみましょう。軽量タグは、基本的に特定のコミットへのポインタに過ぎません。動かないブランチのようなものです。通常、一時的またはプライベートなタグに使用されます。
まだ ~/project/my-time-machine
ディレクトリにいることを確認してください。
軽量タグを作成するには、-a
や -m
オプションを付けずに git tag
コマンドを使用します。
git tag experimental
このコマンドは、experimental
という名前の軽量タグを作成し、現在のコミット (つまり v1.0
が指しているのと同じコミット) を指すようにします。
次に、git show
を使ってこの軽量タグの詳細を見てみましょう。
git show experimental
以下のような出力が表示されるはずです。
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
git show experimental
の出力が git show v1.0
と異なることに注意してください。"tag experimental" の行がなく、タグ付けを行った人 (Tagger) の情報もなく、タグメッセージもありません。git show
は軽量タグが指すコミットを直接表示します。
experimental
が軽量タグであることをさらに確認するために、git cat-file -t
を使ってみましょう。
git cat-file -t experimental
今回の出力は以下のようになるはずです。
commit
これにより、experimental
タグが直接 "commit" オブジェクトを参照していることが確認できます。これは、"tag" オブジェクトを参照していた注釈付きタグ v1.0
とは異なります。
軽量タグは、リポジトリ内で迅速かつ一時的なマーカーとして便利です。たとえば、後で簡単に参照したい特定のコミットをマークするために使用することができ、メッセージ付きの完全な注釈付きタグを作成する必要はありません。
これで、注釈付きタグと軽量タグの違い、および git show
と git cat-file
を使ってそれらを調べる方法を理解しました。