Возможно ли (как-то) иметь в Git (локальных) относительных ревизионных (фиксированных) номерах, например, в Mercurial 0, 1, 2, 3,... вместо коротких хэшей?
Или что-нибудь более удобное для пользователя?
Возможно ли (как-то) иметь в Git (локальных) относительных ревизионных (фиксированных) номерах, например, в Mercurial 0, 1, 2, 3,... вместо коротких хэшей?
Или что-нибудь более удобное для пользователя?
Просто используйте:
master~10
, чтобы получить 10-ю последнюю фиксацию на ветке master
.master^
, чтобы получить вторую последнюю фиксацию на ветке master
.master^^
, чтобы получить третью последнюю фиксацию на ветке master
.Их можно даже комбинировать: master^^~5^
.
master
может быть любым именем ветки (локальным или удаленным) или HEAD
для ссылки на текущую фиксацию.
Вы можете использовать master^2
для получения второго родителя слияния.
Вы всегда можете ссылаться на фиксацию с использованием префикса своего SHA-1-хеша, если он уникален. Например, если вы хотите проверить 980e3ccdaac54a0d4de358f3fe5d718027d96aae
, вы можете использовать git checkout 980e
, если никакие другие коммиты не начинаются с 980e
.
Я только что сделал что-то такое: dash-r. Это все еще грубо, но вы можете найти его полезным.
В принципе, это прокладка, которая может создать модифицированную версию основного журнала git с такими строками фиксации:
commit 4 id: a4d0892d38f4d72902e35a5b1ca11e602fffcef6
а затем ссылайтесь на эти числа, окружая вызов -r
обратными окнами:
git diff `-r 2`
(Предположим, вы установили его в свой путь с именем "-r". Я делаю это, поскольку он выглядит как обычный параметр, если я игнорирую обратные ссылки.)
Он может обрабатывать диапазоны и отрицательные числа:
git diff `-r 2..-2`
Git отсутствие номеров ревизий было для меня главным препятствием при нагревании до Git. Видение SHA-хэшей в git log
нарушает мой поток. Поэтому я надеюсь, что это поможет нам обоим.
Короткий ответ: Нет Да.
Однако вы можете использовать git -tag. Например, чтобы пометить ваш последний коммит как версию 1.2, выполните следующие действия:
git tag -a v1.2 HEAD
На этой странице объясняется, как использовать его для управления версиями: http://grinninggecko.com/commit-version-numbers-with-git/