atx
atx

Reputation: 5061

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).

Upvotes: 323

Views: 91933

Answers (2)

amalloy
amalloy

Reputation: 91837

git tag --contains <commit>

Upvotes: 507

VonC
VonC

Reputation: 1323303

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.

Upvotes: 30

Related Questions