Я часто использую git stash
и git stash pop
для сохранения и восстановления изменений в моем рабочем дереве. Вчера у меня были некоторые изменения в моем рабочем дереве, которые я спрятал и вытолкнул, а затем я сделал больше изменений в своем рабочем дереве. Я хотел бы вернуться и просмотреть вчерашние сохраненные изменения, но, git stash pop
похоже, удаляет все ссылки на связанный коммит.
Я знаю, что если я использую, git stash
то .git / refs / stash содержит ссылку на коммит, использованный для создания тайника. И .git / logs / refs / stash содержит весь тайник. Но эти ссылки исчезли после git stash pop
. Я знаю, что коммит все еще находится в моем хранилище, но я не знаю, что это было.
Есть ли простой способ восстановить вчерашнюю ссылку на коммит?
Обратите внимание, что сегодня это не критично для меня, потому что у меня ежедневные резервные копии, и я могу вернуться к вчерашнему рабочему дереву, чтобы получить свои изменения. Я спрашиваю, потому что должен быть более легкий путь!
git stash
, git pull -r upstream
, git push -f origin
, git stash pop
, и поп сказал «фатальный: журнал для рефов / тайник пуст». Tried Я попробовал кучу этих ответов, ничего не получалось. Когда я посмотрел в .git / refs / stash , там был SHA. Может быть проблема с маркировкой сетевого диска Windows для автономной синхронизации? B
git stash pop
, вы можете сделать этоgit stash apply
вместо этого. Он делает то же самое, за исключением того, что не удаляет ссылку на примененный тайник.