I have the SHA ID of a commit that I am interested in and would like to know how to find the first tag that contains it.
-
Does this answer your question? stackoverflow.com/questions/1474115/…– jasonwryanSep 9, 2012 at 23:55
-
Related: stackoverflow.com/questions/7923091/…– Ciro Santilli Путлер Капут 六四事May 31, 2018 at 16:31
2 Answers
As previously stated, this can be done with git describe
. In your particular case, however, you may find it more convenient to run git name-rev --tags --name-only <SHA>
, which outputs exactly what you want. See git-name-rev(1).
git describe --contains "$committish"
shows a reference to the commit built on a tag plus a ~$n
ancestorhood count, so the following command shows the most recent tag that contains a commit:
git describe --contains "$committish" | sed 's/~.*//'
If there is no tag that contains this commit, git describe
will fail. If you'd like to get the (abbreviated) committish instead, add the --always
option.