リポジトリにタグ付けをする - Git による版管理環境を構築する

SPECIAL


リポジトリにタグ付けをする

リポジトリにコミットしたポイントには、タグをつけることができるようになっています。

コミットにタグをつけることで、そのコミットがどういった時点のものであるかを明確にしたり、後でさかのぼって以前にコミットした時点でのファイルを取得したりといったことがしやすくなります。

タグ付けを行う

現在のワーキングコピーの内容でタグ付けを行いたい場合には、次のようにします。

git tag -a タグ名 -m "タグの説明"

このようにすると、現在の内容を "注釈つきタグ" としてリポジトリ内にデータをタグ付けして、保存しておくことができます。

このようなタグ付けは一般に、ソフトウェアをリリースしたタイミング毎に行うことが多いそうです。

 

過去にコミットされたポイントに対してタグ付けを行いたい場合には、次のように、対象コミットの ID を指定して "git tag" を実行します。

git tag -a タグ名 -m "タグの説明" コミットID

ここで、対象コミットの ID は "git log --pretty=oneline" を実行することで、簡単に確認することができるようになっていました。

各行の最初に出てくる数字とアルファベットの羅列が、そのコミットの ID になります。

タグ情報をリモートリポジトリに転送する

ローカルリポジトリに付けたタグを、リモートリポジトリに転送したい場合には、次のようにします。

git push --tags origin

たとえばこのようにすることで、"origin" という名のリモートリポジトリに、ローカルリポジトリに付けたタグ情報が Push されます。

付けられたタグを確認する

ローカルリポジトリに設定されているタグは、次のようにして、一覧で確認することができます。

git tag

このようにすることで、そのローカルリポジトリに登録されているタグ名が、一覧で表示されます。

タグの内容を詳細に確認したい場合には、次のようにします。

git show タグ名

このようにすることで、指定されたタグが、いつ、だれによって、どのコミット ID に対して行われたかを確認することができるようになっていました。ちなみにこのとき、タグ名ではなくコミット ID を指定することも可能です。

また、このとき、ワーキングコピーとそのタグの時点とのファイルの内容を比較して、その差分を画面に出力してくれるようでした。

そのタグを付けた時点での、差分ではなく、ファイルの内容を確認したい場合には、タグ名の後に ":" をつけて、参照したいファイル名を指定します。

git show タグ名:Modules/mod1.c

例えばこのようにすることで、指定したタグの時点での "Modules" フォルダー内の "mod1.c" の内容を見ることが可能です。

 

タグ情報を削除する

付けたタグを削除したい場合には、ワーキングコピーで次のコマンドを実行します。

git tag -d タグ名

これでタグを削除することができました。

ここでもし、このタグが既にリモートリポジトリへ Push --tags されている場合には、併せて次のようにして、リモートリポジトリのタグを空のタグで上書きする必要があるようでした。

git push origin :refs/tags/タグ名

このようにすることで、"origin" という名のリモートリポジトリからも、指定した名前のタグを削除することができました。

 

目次