W Git, jak dowiedzieć się, jaka jest moja obecna wersja?


167

Chcę tylko wiedzieć, jaki jest mój aktualny numer wersji.


Znalazłem to pytanie, gdy szukałem sposobu na pobranie bieżącej wersji, aby użyć jej w dalszych poleceniach git. Ale kiedy przeczytałem odpowiedzi, zorientowałem się: „Och, czekaj, nie potrzebuję tego, mogę po prostu użyć HEAD.”
Antoine Pinsard

Odpowiedzi:


228

Co rozumiesz przez „numer wersji”? Dość często oznacza się zatwierdzenie numerem wersji, a następnie używa

$ git describe --tags

aby zidentyfikować bieżący HEAD zapisując wszystkie tagi. Jeśli masz na myśli, że chcesz poznać wartość skrótu bieżącego HEAD, prawdopodobnie chcesz:

$ git rev-parse HEAD

lub dla skrótu wersji:

$ git rev-parse --short HEAD

Często wystarczy:

$ cat .git/refs/heads/${branch-master}

ale to nie jest wiarygodne, ponieważ referencja może być zapakowana.


8
Referencje mogą być zapakowane .git/packed-refs, więc prawdopodobnie powinieneś unikać bezpośredniego dostępu .git/refs/. Po prostu użyj git rev-parse master(lub git rev-parse refs/heads/masterjeśli musisz być całkowicie jednoznaczny).
Chris Johnsen,

108

git log -1Myślę, że jest wiele sposobów, z których jest najłatwiejszy i najpowszechniejszy


1
Jak sprawić, by plik stał się poprzednią wersją?
TIMEX

1
może chcesz git checkout HEAD ^ - nazwa pliku
manojlds Kwietnia

2
btw, to daje DUŻO WIĘCEJ niż tylko bieżąca wersja i będziesz musiał ją przeanalizować w konsekwencji (więc nie jest to najlepsze / najłatwiejsze / powszechne rozwiązanie,
imho

36

To daje tylko wersję.

git rev-parse HEAD

Myślę, że to najlepsza odpowiedź, ponieważ nie jest zależna od implementacji. Odpowiedź Williama „cat .git / refs / heads / master” zapewni tę samą wartość, ale nie ma gwarancji, że będzie działać w przyszłości, jeśli implementacja się zmieni.
Thagomizer

Zgoda, to najlepsza odpowiedź. Krótka wzmianka o tej --shortopcji sprawiłaby, że byłaby idealna.
Bobby Jack

15

Daje to kilka pierwszych cyfr skrótu i ​​są one na tyle unikalne, że można ich użyć jako, powiedzmy, numeru wersji.

git rev-parse --short HEAD


0

poniżej będzie działać z każdą wcześniej opublikowaną wersją, nie tylko z HEAD

dla skróconego skrótu wersji:

git log -1 --pretty=format:%h

dla długiego skrótu rewizji:

git log -1 --pretty=format:%H
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.