Как сделать 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