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

时间:2011-10-27 22:13:37

标签: git

这个问题类似于How to list all tags pointing to a specific commit in git,但有一点不同:我希望在每个标记的树中搜索包含特定提交的所有标记,而不是标记在标记本身中的文件(在此case,只标记了Makefile更改。)

3 个答案:

答案 0 :(得分:286)

git tag --contains <commit>

应该足够了吧?

答案 1 :(得分:21)

请注意,您需要git 2.0.x(2014年第3季度)才能列出特定提交的所有标记如果您拥有大型回购

commit cbc60b6Jean-Jacques Lafay (lanfeust69)

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

  

在大型repos中,contains(commit, commit_list)的递归实现可能导致堆栈溢出。用循环替换递归来修复它。

     

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

另见this thread on the msysGit list

答案 2 :(得分:14)

git tag --contains <sha1_hash> 

应该有效