How to list all tags that contain a commit?

Git

Git Problem Overview


This question is similar to https://stackoverflow.com/questions/4545370/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).

Git Solutions


Solution 1 - Git

git tag --contains <commit>

Solution 2 - Git

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionatxView Question on Stackoverflow
Solution 1 - GitamalloyView Answer on Stackoverflow
Solution 2 - GitVonCView Answer on Stackoverflow