Получить короткую версию Git - PullRequest
302 голосов
/ 17 апреля 2011

Есть ли более чистый способ получить хеш короткой версии HEAD от Git?

Я хочу увидеть тот же вывод, что и от:

 git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8

Первоначально я использовал указанную выше команду для генерации строки версии, но это даже лучше:

git describe --tags

Она будет выводить строки, такие как 0.1.12 (с тегом commit) или 0.1.11-5-g0c85fbc (пять коммитов после тега).

Ответы [ 7 ]

563 голосов
/ 17 апреля 2011

Попробуйте это:

git rev-parse --short HEAD

Команда git rev-parse может сделать значительное количество разных вещей, поэтому вам нужно очень внимательно просмотреть документацию , чтобы определить, чтохотя.

101 голосов
/ 17 апреля 2011

Вы можете сделать практически любой формат с --pretty=format:

.
git log -1 --pretty=format:%h 
58 голосов
/ 20 мая 2016
git log -1 --abbrev-commit

также сделает это.

git log --abbrev-commit

выведет список записей журнала с сокращенной контрольной суммой SHA-1.

28 голосов
/ 17 февраля 2015

Действительно простой способ:

git describe --always
27 голосов
/ 16 мая 2017

Простой способ увидеть короткую версию Git commit и сообщение Git commit:

git log --oneline

Обратите внимание, что это сокращение для

git log --pretty=oneline --abbrev-commit
15 голосов
/ 25 июня 2014

Ветка с коротким хешем и последним комментарием:

git branch -v

  develop      717c2f9 [ahead 42] blabla
* master       2722bbe [ahead 1] bla
8 голосов
/ 07 марта 2018

У меня Git версии 2.7.4 со следующими настройками:

git config --global log.abbrevcommit yes
git config --global core.abbrev 8

Теперь, когда я это сделаю:

git log --pretty=oneline

Я получаю сокращенный идентификатор фиксации из восьми цифр:

ed054a38 add project based .gitignore
30a3fa4c add ez version
0a6e9015 add logic for shifting days
af4ab954 add n days ago
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...