Получите abbrev-commit для ветки git, чисто - PullRequest
4 голосов
/ 03 февраля 2011

Мне нужно извлечь сокращенные имена коммитов для определенных веток git.Обычно это шестизначные семизначные числа, и они используются некоторыми системами (включая переменную среды Heroku COMMIT_HASH) для идентификации конкретного коммита.

Существует несколько уродливых способов получить сокращенное имя коммита, включая:1003 *

$ git log -1 --oneline | awk '{ print $1 }'
d4377e3
$ git describe --always --match ''
d4377e3

Есть ли более чистый способ получить это значение?

Ответы [ 3 ]

8 голосов
/ 03 февраля 2011

Отличный вопрос.Я считаю, что вы ищете git-rev-parse, одну из команд git низкого уровня.

[jason@star Data]$ git-rev-parse --short github/master
8b81a38

Кроме того, если вы хотите получить последний коммит в текущей ветви, просто передайте HEAD в качестве параметра.

[jason@star Data]$ git-rev-parse --short HEAD
8b81a38
2 голосов
/ 03 февраля 2011

git log 's --pretty-format опция может быть использована:

git log -1 --pretty=format:%h
1 голос
/ 21 мая 2012

Я нашел pimping-out-git-log полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...