Find the first tag that contains a git commit

Challenge

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.

Solution

The commands show a reference to the commit built on a tag plus a ~$n ancestorhood count - they return the most recent tag that contains a commit. To remove the ancestorhood count pipe the result to sed:

<command> | sed 's/~.*//'

If there is no tag that contains this commit, git describe will fail.

Version 1

inspec on  master
➜ git name-rev --tags --name-only 175c3e1189ac2520ebc705db438bed50cd569892
v1.49.7~1

Version 2

inspec on  master
➜ git describe --contains 175c3e1189ac2520ebc705db438bed50cd569892
v1.49.7~1