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


git tag --contains <commit>

注意,您需要git 2.0。x (Q3 2014),以便列出某个提交的所有标签,如果你有一个大的repo

参见commit cbc60b6 by Jean-Jacques Lafay (lanfeust69):

Git标签——包含:避免堆栈溢出

在大型回购中,contains(commit, commit_list)的递归实现可能导致堆栈溢出。用循环替换递归来修复它。 这个问题在Windows上比在Linux上更明显,Linux上的堆栈在默认情况下更有限。

请参见msysGit列表中的这个线程。