Git でタグが指しているコミットを確認するにはどうすればよいでしょうか? 質問する

Git でタグが指しているコミットを確認するにはどうすればよいでしょうか? 質問する

リポジトリに注釈のないタグが多数あり、それらがどのコミットを指しているかを調べたいのですが、タグとそのコミット SHA を一覧表示するコマンドはありますか? タグをチェックアウトして HEAD を確認するのは、私にとっては少々面倒すぎるように思えます。

アップデート

回答を確認した後で、私が実際に欲しかったのは、タグに至るまでの履歴を見ることだけであり、それでgit log <tagname>十分だということに気付きました。

回答としてマークされている回答は、タグとそのコミットのリストを取得するのに役立ちます。これが私が尋ねたことです。シェルを少しハッキングすれば、それらを SHA+Commit メッセージに変換できるはずです。

ベストアンサー1

これを行う 1 つの方法は、 を使用することですgit rev-list。次の例では、タグが指すコミットが出力されます。

$ git rev-list -n 1 $TAG

注: これは注釈付きタグと注釈なしタグの両方に有効です

~/.gitconfig頻繁に使用する場合は、エイリアスとして追加できます。

[alias]
  tagcommit = rev-list -n 1

そして次のように呼び出します:

$ git tagcommit $TAG

起こりうる落とし穴: 同じタグ名のローカル チェックアウトまたはブランチがある場合、この解決策では「警告: refname 'myTag' があいまいです」というメッセージが表示される可能性があります。その場合は、詳細度を上げてみてください。例:

$ git rev-list -n 1 tags/$TAG

おすすめ記事