コミットを含むすべてのタグを表示するには?

この質問は、に似ていますすべてのタグはgitで特定のコミットを指しています。ただし、1つの違いがあります:個々のタグのツリー内の特定のコミットを含むすべてのタグを検索したいと思います。その場合、Makefileの変更だけがタグ付けされています)。

166
特定のファイルにタグを付けることはできません。タグはコミットを指示するだけです。あなたは本当に解決しようとしている問題の詳細について質問を編集したいかもしれません。
追加された 著者 Mark Longair,
追加された 著者 David J.,
注:Windowsでは、 gitタグを含むクラッシュさせないが必要な場合は、git 2.0.x(2014)を使用してください。 下の私の答えを参照してください。
追加された 著者 VonC,

3 答え

git tag --contains 

十分なはずですか?

251
追加された
タグにはファイルが含まれていません。彼らはコミットのためのマーカーに過ぎません。それを考えると、私はあなたの反対は理にかなっているとは思わない。
追加された 著者 amalloy,
私はこれを試した。しかし、タグには1つのファイルしか含まれていないと、そのファイルを検索するだけだと思います。それは木を検索しません。また、私が試したリポジトリは非常に大規模なもので、SIGKILLされています。
追加された 著者 atx,
その場合、メモリ不足のためにコミットを表示してはいけません。私がこれを乗り越える方法を知っていますか?
追加された 著者 atx,
リモートタグに対してこれを行う方法はありますか?ブランチと似ています: git branch -r --contains
追加された 著者 Mike,

Note that you need git 2.0.x (Q3 2014) in order to list all tags for a certain commit if you have a large repo

コミットcbc60b6 を参照してください。 rel = "noreferrer"> Jean-Jacques Lafay( lanfeust69 ):

git tag --contains: avoid stack overflow

大規模なリポジトリでは、 の再帰実装> contains(commit、commit_list) を実行すると、スタックのオーバーフローが発生する可能性があります。再帰をループで置き換えて修正してください。

     

この問題は、Linuxの場合よりもWindowsの方がはっきりしています。これは、スタックがデフォルトでより制限されています。

msysGitリストのこのスレッドも参照してください。

21
追加された
@MikeSchinkelまあ...少なくとも意図的ではありません。
追加された 著者 VonC,
いいえ、意図されていない;-)
追加された 著者 MikeSchinkel,
git tag --contains  

動作するはずです

12
追加された