Могу ли я узнать номер ревизии коммита? - PullRequest
11 голосов
/ 29 мая 2009

Я могу видеть номер ревизии в svn с помощью команд, таких как svn info, но в git я вижу только имена объектов sha, есть ли способ узнать, сколько ревизий было зафиксировано?

1 Ответ

9 голосов
/ 29 мая 2009

git description будет самым близким способом получить такую ​​информацию, как предложено в этом другом вопросе SO

[torvalds@g5 git]$ git describe parent
v1.0.4-14-g2414721

т.е. текущий заголовок моей «родительской» ветки основан на v1.0.4, но, поскольку он имеет несколько коммитов, description добавил количество дополнительных коммитов («14») и сокращенное имя объекта для самого коммита ("2414721") в конце.

Число дополнительных коммитов - это количество коммитов, которое будет отображаться как "git log v1.0.4..parent".
Суффикс хеша: "-g" + 7-char аббревиатура для коммита tip родительского (который был 2414721b194453f058079d897d13c4e377f92dc6).

Обратите внимание, что Git 2.22 (Q2 2019) исправляет последнее предложение, поскольку, хотя минимум составляет 7 символов, однозначная длина может быть больше.

Документация git describe теперь говорит:

Суффикс хеша "-g" + однозначный сокращение для коммита tip родителя (который был 2414721b194453f058079d897d13c4e377f92dc6).

См. коммит ffea024 (06 апреля 2019 г.) от Филиппа Окли (PhilipOakley) .
(Объединено с Junio ​​C Hamano - gitster - в коммит 18c3ae0 , 25 апреля 2019 г.)


Конечно, вы всегда можете считать свои коммиты

git shortlog -s -n
  135  Tom Preston-Werner
  15  Jack Danger Canty
  10  Chris Van Pelt

Опция -s объединяет все сообщения о коммитах в число коммитов, а опция -n сортирует список по количеству коммитов.

Эта команда также может быть полезна для changelogs, поскольку вы можете легко сбросить все изменения, внесенные каждым человеком.
Есть несколько других опций:
-e будет добавлять электронные письма, и вы можете контролировать ширину столбцов с помощью -w.
Проверьте manpage для получения дополнительной информации.

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