Git относительные номера ревизий - PullRequest
25 голосов
/ 26 февраля 2011

Возможно ли ( каким-то образом ) иметь в Git ( local ) номера относительной ревизии ( commit ), как в Mercurial 0, 1, 23, ... вместо коротких хэшей?

Или что-нибудь еще дружественный ?

Ответы [ 4 ]

41 голосов
/ 26 февраля 2011

Просто используйте:

  • master~10, чтобы получить 10-й последний коммит в ветви master.
  • master^, чтобы получить второй последний коммит в ветви master.
  • master^^ для получения третьего последнего коммита в ветви master.

Их даже можно объединить: master^^~5^.

masterможет быть любым именем ветви (локальным или удаленным) или HEAD для ссылки на текущий коммит.

Вы можете использовать master^2 для получения второго родителя слияния.

2 голосов
/ 24 мая 2011

Я только что сделал что-то, делая именно это: dash-r .Это все еще грубо, но вы можете найти это полезным.

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

commit 4  id: a4d0892d38f4d72902e35a5b1ca11e602fffcef6

, а затемссылаться на эти числа, окружая вызов -r обратными чертами:

git diff `-r 2`

(Предполагается, что вы устанавливаете его в своем пути с именем "-r". Я делаю это, поскольку это выглядит как обычная опция, если яигнорируйте галочки.)

Он может даже обрабатывать диапазоны и отрицательные числа:

git diff `-r 2..-2`

Отсутствие номеров ревизий в Git стало для меня серьезным препятствием в потеплении к Git.Наблюдение хэшей SHA в git log нарушает мой поток.Поэтому я надеюсь, что это поможет нам обоим.

2 голосов
/ 26 февраля 2011

Вы всегда можете сослаться на коммит по , используя префикс его SHA-1-хеша , если он уникален.Например, если вы хотите оформить заказ 980e3ccdaac54a0d4de358f3fe5d718027d96aae, вы можете использовать git checkout 980e, если другие коммиты не начинаются с 980e.

0 голосов
/ 26 февраля 2011

Краткий ответ: Нет. Да .

Однако вы можете использовать git-tag.Например, чтобы пометить ваш последний коммит как версию 1.2, сделайте что-то вроде:

git tag -a v1.2 HEAD

На этой странице объясняется, как использовать его для управления версиями: http://grinninggecko.com/commit-version-numbers-with-git/

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