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 ~$nliczbę 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 describezakończy się niepowodzeniem. Jeśli chcesz zamiast tego rozpocząć (w skrócie) zatwierdzenie, dodaj --alwaysopcję.
Odpowiedzi:
Jak już wspomniano, można to zrobić za pomocą
git describe
. Jednak w twoim konkretnym przypadku wygodniejsze może być uruchomieniegit name-rev --tags --name-only <SHA>
, które generuje dokładnie to, co chcesz. Zobacz git-name-rev (1) .źródło
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: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ę.źródło