这个问题类似于如何列出指向Git特定提交的所有标签,但有一个区别:我希望搜索每个标签树中包含特定提交的所有标签,而不仅仅是标记文件本身标记的文件 (在此情况下,只有Makefile更改被标记)。
这个问题类似于如何列出指向Git特定提交的所有标签,但有一个区别:我希望搜索每个标签树中包含特定提交的所有标签,而不仅仅是标记文件本身标记的文件 (在此情况下,只有Makefile更改被标记)。
git tag --contains <commit>
git branch -r --contains <commit>
- Mike请注意,如果您有一个大型仓库,想要列出某个提交的所有标签,您需要使用git 2.0.x (Q3 2014)。
请参见Jean-Jacques Lafay (lanfeust69
)的commit cbc60b6:
git tag --contains
:避免堆栈溢出在大型仓库中,
contains(commit, commit_list)
的递归实现可能导致堆栈溢出。用循环替换递归以解决此问题。在Windows上比Linux更明显,因为默认情况下堆栈更受限制。
另请参阅msysGit列表中的此线程。
git tag --contains
不崩溃,请确保使用 git 2.0.x(2014)。请参见我的下面的回答。 - VonCgit branch --contains <commit>
,它对分支执行相同的操作。需要同时使用两者。 - Palec