Как найти первый тег, содержащий git commit?


16

У меня есть идентификатор SHA для коммита, который меня интересует, и я хотел бы узнать, как найти первый тег, который его содержит.


Отвечает ли это на ваш вопрос? stackoverflow.com/questions/1474115/…
jasonwryan

Ответы:


8

Как было сказано ранее, это можно сделать с помощью git describe. Однако в вашем конкретном случае вам может быть удобнее запустить программу git name-rev --tags --name-only <SHA>, которая выдает именно то, что вы хотите. Смотрите git-name-rev (1) .


6

git describe --contains "$committish"показывает ссылку на коммит, построенный на теге, плюс ~$nсчетчик предков, поэтому следующая команда показывает самый последний тег, содержащий коммит:

git describe --contains "$committish" | sed 's/~.*//'

Если нет тега, содержащего этот коммит, git describeпроизойдет сбой. Если вы хотите вместо этого получить (сокращенно) коммит, добавьте --alwaysопцию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.