1. ホーム
  2. git

[解決済み] Git でタグがどのコミットを指しているかを知るには?

2022-03-20 07:59:37

質問

リポジトリに注釈のないタグがたくさんあり、それらがどのコミットを指しているのか調べたいのですが。タグとそのコミットSHAをリストアップするコマンドはありますか?タグをチェックアウトしてHEADを見るのは、私には少し手間がかかりすぎるようです。

更新情報

私が実際に望んでいたのは、そのタグに至るまでの履歴を単純に見ることだったということに、回答を見てから気づきました。 git log <tagname> で十分です。

回答として表示されるのは、私が尋ねたタグとそのコミットのリストを取得するのに便利です。少しシェルをハックすれば、それらをSHA+Commitメッセージに変換することは可能だと思います。

どのように解決するのですか?

これを実現する一つの方法として git rev-list . 以下は、タグが指し示すコミットを出力するものです。

$ git rev-list -n 1 $TAG

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

のエイリアスとして追加することができます。 ~/.gitconfig をよく使うのであれば

[alias]
  tagcommit = rev-list -n 1

で呼び出す。

$ git tagcommit $TAG

落とし穴の可能性: ローカルチェックアウトや同じタグ名のブランチがある場合、この解決策では " を取得する可能性があります。 警告: 参照名 'myTag' はあいまいです。 "。その場合は、具体性を高めるなどして試してみてください。

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