Mam identyfikator SHA zatwierdzenia, który mnie interesuje i chciałbym wiedzieć, jak znaleźć pierwszy tag, który go zawiera.
Mam identyfikator SHA zatwierdzenia, który mnie interesuje i chciałbym wiedzieć, jak znaleźć pierwszy tag, który go zawiera.
Odpowiedzi:
Jak już wspomniano, można to zrobić za pomocą git describe
. Jednak w twoim konkretnym przypadku wygodniejsze może być uruchomienie git name-rev --tags --name-only <SHA>
, które generuje dokładnie to, co chcesz. Zobacz git-name-rev (1) .
git describe --contains "$committish"
pokazuje odniesienie do zatwierdzenia zbudowanego na znaczniku plus ~$n
liczbę przodków, więc następujące polecenie pokazuje najnowszy znacznik zawierający zatwierdzenie:
git describe --contains "$committish" | sed 's/~.*//'
Jeśli nie ma tagu zawierającego to zatwierdzenie, git describe
zakończy się niepowodzeniem. Jeśli chcesz zamiast tego rozpocząć (w skrócie) zatwierdzenie, dodaj --always
opcję.