Каковы возможные способы обращения к git stash? - PullRequest
2 голосов
/ 29 ноября 2011

In

git stash show stash@{x}

какие значения может принимать x (кроме целых чисел, указывающих на серийный номер тайника)?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

Единственные известные мне значения - это те, которые перечислены:

git stash list

Т.е. "целые числа", на которые вы ссылаетесь в своем вопросе (0, 1, 2, ...) или времяна основе синтаксиса:

git stash справочная страница :

Последний созданный вами тайник хранится в refs/stash;более старые тайники находятся в reflog этой ссылки и могут быть названы с использованием обычного синтаксиса reflog
(например, stash@{0} - это последний созданный тайник, stash@{1} - тот, что перед ним,
stash@{2.hours.ago} также возможно ).

В этом случае список значений является частью значений, указанных в git rev-parse, в основном из следующих двух категорий:

  • Ссылка, за которой следует суффикс @ с указанием даты , заключенной в пару скобок (например, {yesterday}, {1 month 2 weeks 3 days 1 hour 1 second ago} или {1979-02-26 18:30:00}) для указания значенияref в предыдущий момент времени.
    Этот суффикс может использоваться только сразу после имени ссылки, и ссылка должна иметь существующий журнал ($GIT_DIR/logs/<ref>).
    Обратите внимание, что это просматривает состояние вашего локального ссылки.в данный момент времени;например, что было в вашей локальной ветке master на прошлой неделе.

  • Ссылка, за которой следует суффикс @ с порядковым номером , заключенным в пару скобок (например,{1}, {15}) для указания предшествующего значения n-th для этой ссылки.
    Например, master@{1} - это непосредственное предшествующее значение мастера, а master@{5} - 5-е предшествующее значение мастера.
    Этот суффикс может использоваться только сразу после имени ссылки, и ссылка должна иметь существующий журнал ($GIT_DIR/logs/<ref>).

0 голосов
/ 29 ноября 2011

git show stash@{0} показывает, что sha1-запись sha1 должна быть абсолютно уникальной.

...