如何列出包含提交的所有标记?

这个问题类似于如何在git中列出指向特定提交的所有标记 ,但有一点不同:我希望在每个标记的树中search包含特定提交的所有标记,而不是标记在标记中的文件本身(在这种情况下,只有Makefile更改已被标记)。

 git tag --contains <commit> 

应该够了吧?

请注意,您需要git 2.0.x(2014年第三季度),以便列出某个提交的所有标记, 如果您有一个大的回购

见Jean-Jacques Lafay的提交cbc60b6 ( lanfeust69 ) :

git tag --contains :避免堆栈溢出

在大的回购中, contains(commit, commit_list)的recursion实现可能导致堆栈溢出。 用循环replacerecursion来修复它。

在Windows上,这个问题比在Linux上更明显,默认情况下堆栈更受限制。

请参阅msysGit列表中的此线程 。

 git tag --contains <sha1_hash> 

应该pipe用