Как сделать Git stash pop специфичным для stash в 1.8.3?

Я только что обновил Git. Я на Git версии 1.8.3.

Этим утром я попытался развернуть изменение 1 глубоко в стеке.

Я запустил git stash pop [email protected]{1} и получил эту ошибку.

роковой: двусмысленный аргумент 'stash @1': неизвестная ревизия или путь не указан рабочее дерево.     Используйте '-', чтобы отделить пути от ревизий, например так:     'git [...] - [...]'

Я пытался использовать вариации 20+, а также использовать apply вместо pop, но безуспешно. Что изменилось? Кто-нибудь еще сталкивался с этим?

Ответ 1

Как указывалось ранее, фигурные скобки могут потребовать экранирования или цитирования в зависимости от вашей ОС, оболочки и т.д.

См. "stash @{1} неоднозначно?" для некоторых подробных подсказок о том, что может быть не так, и как обходить его в разных оболочках и платформах.

git stash list
git stash apply [email protected]{n}

git версия приложения для прикрытия

Ответ 2

Вам нужно убрать скобки:

git stash pop [email protected]\{1\}

Ответ 3

Если вы хотите быть уверенным, что вам не нужно иметь дело с кавычками для синтаксиса [email protected]{x}, используйте Git 2.11 (4 квартал 2016 года)

См. Коммит a56c8f5 (24 октября 2016 г.) Аарона М. Уотсона (watsona4).
(Объединено Junio C Hamano - gitster - в коммите 9fa1f90, 31 октября 2016 г.)

stash: разрешить ссылки на stash только по индексу

Вместо того чтобы явно ссылаться на " [email protected]{n} ", сделайте возможным просто ссылаться на " n ".
Большинство пользователей ссылаются на тайники только по их положению в стеке тайников (что я называю здесь "индексом").

Синтаксис типичного stash ([email protected]{n}) немного раздражает и его легко забыть, а иногда и трудно избежать в скрипте должным образом.

Из-за этого желательна возможность делать вещи с тайником, просто ссылаясь на индекс.

Так:

git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1

Ответ 4

В Windows Powershell я запускаю это:

git stash apply "[email protected]{1}"

Ответ 5

Как заметил Роберт, кавычки могут сделать трюк для вас:

git stash pop [email protected]"{1}"

Ответ 6

Если ни одно из вышеперечисленных действий не работает, кавычки вокруг самого кошелька могут работать для вас:

git stash pop "[email protected]{0}"

Ответ 7

Версия 2. 11+ использует следующее:

git stash list

git stash apply n

n - это номер stashа @{12}

Ответ 8

Сначала проверьте список: -

git stash list

скопируйте индекс, который вы хотите получить из списка тайников

git stash pop [email protected]{index_number}

например.:

git stash pop [email protected]{1}

Ответ 9

У меня установлено 2.22, и это сработало.

git stash pop --index 1