Gitにはコミット履歴にタグを設定するgit tagコマンドが用意されています。その中のオプションの一つで注釈をつける機能があります。
ここでは、注釈とは何か?コミットメッセージとは違うのか?注釈を設定する方法や参照するにはどうすればいいか、既に注釈がついているタグの注釈を変更するにはどうすればいいかについてまとめています。
注釈とは何か?コミットメッセージの違い
注釈とはコミットに設定したタグにつけられる専用のメッセージのことです。
似たものに、コミットメッセージがありますが、コミットメッセージとは異なります。
例えば、タグの一覧を参照するコマンドにgit tag -n
があります。これを実行すると、注釈が設定されていない場合は各タグとそれに対応するコミットメッセージが表示されます。
$ git tag -n
NewTag [A]vue-router
v1.2 [A]vue-router
v2.0 [U]content-security-policy(CSP) enable webpack-dev-server
v2.1 [A]ClientNew.vue
v3.0 [U]docker-compose add webpack port 3035
上記のタグ名「NewTag」に注釈をつけると、コミットメッセージではなく注釈の内容が表示されるようになります。
$ git tag -n
NewTag 注釈を設定しました
v1.2 [A]vue-router
v2.0 [U]content-security-policy(CSP) enable webpack-dev-server
v2.1 [A]ClientNew.vue
v3.0 [U]docker-compose add webpack port 3035
リモートレポジトリにおける見え方の違い
注釈ありなしでリモートレポジトリでタグがどのように見えるかの違いは以下のようになります。
注釈が無い場合
注釈が無い場合、リモートレポジトリのタグは以下のように表示されます。
タグ名の横の「…」をクリックすると、コミットメッセージが表示されます。
注釈が有る場合
注釈が有る場合、リモートレポジトリのタグは以下のように表示されます。
デフォルトの見え方は注釈が無い場合と同じです。
ですが、タグ名の横の「…」をクリックすると、コミットメッセージではなく注釈が表示されます。
注釈をつけたタグを設定する方法
注釈の設定方法は、注釈なしでタグ名を指定するコードに「-a」オプションをつけるだけです。
(「-a
」または「--annotate
」オプションでも注釈をつけることができます。)
-aオプションの意味
-aは--annotate
の省略形です。annotateは「注釈をつける」の意味です。
注釈を設定する方法
注釈を設定する方法は以下の3つがあります。
以下でそれぞれの方法を実例で解説します。
エディタを起動する場合
エディタを起動する場合は-aオプションを付けて、タグ名を指定します。
git tag -a <タグ名> <コミット>
実例
例えば、現在のブランチの最新のコミットに「v1.0」というタグ名をつけて、注釈をエディタで設定する場合は以下のようになります。
$ git tag v1.0 -a
VSCodeを使う場合は以下のようなエディタが起動します。
セーブして、閉じれば処理は完了です。
以下のようなメッセージが表示されますが、問題なく作業できます。
hint: Waiting for your editor to close the file... [0126/111345.264:ERROR:registration_protocol_win.cc(102)] CreateFile: 指定されたファイルが見つかりません。 (0x2)
コマンドライン上で直接注釈を入力する。「-a」と「-m」オプションを使う
注釈を設定する2つ目の方法は、「-a」と「-m」オプションを使って、コマンドライン上で直接注釈を入力するものです。
git tag -a <タグ名> -m "注釈の内容" <コミット>
-mオプションは--message
のショートオプションで、注釈の内容(メッセージ)を指定できます。
実例
コミット番号「00093d1」にタグ名「v0.1」で注釈「注釈の内容」というメッセージを付ける場合は以下のようになります。
$ git tag v0.1 -a -m "注釈の内容" 00093d1
確認すると、正しく注釈が設定されていることがわかります。
$ git tag -n "v0.1"
v0.1 注釈の内容
またはgit logで履歴を参照
$ git log --oneline
00093d1 (tag: v0.1) [F]ClientNewからClientForm.vueを切り出し
コマンドライン上で直接注釈を入力する。「-am」オプションを使う
注釈を設定する3つ目の方法は、「-am」オプションを使って、コマンドライン上で直接注釈を入力するものです。
ハイフン一つのショートオプションでは複数のショートオプションをつなげることができます。
「-am」は「-a」「-m」と同じです。
git tag <タグ名> -am "注釈の内容" <コミット>
実例
コミット番号「00093d1」にタグ名「v0.2」で注釈「注釈の内容2」というメッセージを付ける場合は以下のようになります。
$ git tag v0.2 -am "注釈の内容2" 00093d1
確認すると、正しく注釈が設定されていることがわかります。
$ git tag -n "v0.2"
v0.2 注釈の内容2
またはgit logで履歴を参照
$ git log --oneline
00093d1 (tag: v0.2, tag: v0.1) [F]ClientNewからClientForm.vueを切り出し
注釈を変更する方法
既にある注釈の内容を変更したい場合は、注釈をつけたタグを強制的に上書きします。
git tag -f <タグ名> -am "注釈の内容" <コミット>
-fオプションはタグを強制的に上書きするオプションです。
実例
以下のようにtag名「v0.2」注釈の内容「注釈の内容2」となっている注釈を「注釈の内容を変更しました」に変えます。
$ git log --oneline
00093d1 (tag: v0.2) [F]ClientNewからClientForm.vueを切り出し
$ git tag -n "v0.2"
v0.2 注釈の内容2
コミット番号を指定してタグを上書きします。
$ git tag -f v0.2 -am "注釈の内容を変更しました" 00093d1
Updated tag 'v0.2' (was 187cd03)
注釈の内容を確認すると、正しく変更されていることがわかります。
$ git tag -n "v0.2"
v0.2 注釈の内容を変更しました