Ответы:
Что вы подразумеваете под "номером версии"? Довольно часто помечать коммит номером версии, а затем использовать
$ git describe --tags
идентифицировать текущую ГОЛОВКУ по любым тегам. Если вы имеете в виду, что хотите знать хеш текущего HEAD, вы, вероятно, хотите:
$ git rev-parse HEAD
или для короткого ревизионного хэша:
$ git rev-parse --short HEAD
Часто достаточно сделать:
$ cat .git/refs/heads/${branch-master}
но это не надежно, так как ссылка может быть упакована.
.git/packed-refs, поэтому вам следует избегать прямого доступа .git/refs/. Просто используйте git rev-parse master(или git rev-parse refs/heads/masterесли вам нужно быть полностью однозначным).
Есть много способов, git log -1это самый простой и самый распространенный, я думаю,
Это дает вам только ревизию.
git rev-parse HEAD
--shortварианте сделало бы его идеальным.
Это дает вам первые несколько цифр хэша, и они достаточно уникальны, чтобы использовать, например, номер версии.
git rev-parse - короткая ГОЛОВА
ниже будет работать с любой ранее выдвинутой ревизией, а не только с HEAD
для сокращенного ревизионного хэша:
git log -1 --pretty=format:%h
для длительного пересмотра хэша:
git log -1 --pretty=format:%H
HEADсамом деле».