リポジトリに注釈のないタグが多数あり、それらがどのコミットを指しているかを調べたいのですが、タグとそのコミット 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