How to list all tags that contain a commit?
This question is similar to How to list all tags pointing to a specific commit in git, but with one difference: I wish to search for all tags that contain a specific commit within the tree of each tag, not specifically the files marked in the tag itself (in this case, only the Makefile change has been tagged).
Solution 1:
git tag --contains <commit>
Solution 2:
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
See commit cbc60b6 by Jean-Jacques Lafay (lanfeust69
):
git tag --contains
: avoid stack overflow
In large repos, the recursion implementation of
contains(commit, commit_list)
may result in a stack overflow. Replace the recursion with a loop to fix it.This problem is more apparent on Windows than on Linux, where the stack is more limited by default.
See also this thread on the msysGit list.