8

Git コミット ハッシュに複数のタグが関連付けられている場合、および/または複数のブランチの先頭である場合、それらすべてを一覧表示する良い方法はありますか?

git name-revgit describe、およびのオプションを調べましたがgit symbolic-ref、希望どおりのオプションが見つかりませんでした。イライラすることに、タグのみgit name-revをリストする--tagsオプションがありますが、ブランチのみをリストする明らかなメカニズムはありません(とにかく、ブランチよりもタグを常に好むようです)。git name-rev

$ git checkout -b branch1
$ git checkout -b branch2
$ git tag tag1
$ git tag tag2
$ git name-rev HEAD
HEAD tags/tag1
$ git describe --all HEAD
HEAD tags/tag1
$ git symbolic-ref HEAD
refs/heads/branch2

コミット ハッシュをそのすべてのシンボリック名にマップするには、すべての結果に対して実行git tag --listしてから実行する必要がありますか?git branch --all --listgit rev-parse

4

2 に答える 2

1

git log通常、探しているすべての名前が表示されることに気付きました。の書式設定オプションを見るとgit log、代わりに次を使用できます。

$ git log --format='%d -1 HEAD
 (HEAD -> branch2, tag: tag2, tag: tag1, branch1)

ただし、 ErikMD のgit for-each-ref提案による出力の書式設定の方がおそらく扱いやすいので、最終的にはそれを使用することになるでしょう。

于 2020-06-22T02:47:45.673 に答える