Я пытался восстановить сброшенный sta sh с работой, в которой я нуждался, следуя множеству примеров (таких как здесь и здесь ) из
git log --graph --oneline --decorate $(git fsck --no-reflog | awk '/dangling commit/ {print $3}')
Я нашел га sh ref (1234AB C) для оборванного коммита, который я сбросил и нуждался:
1234ABC untracked files on feature/guards: 0987XYZ Merge branch 'develop'
0987XYZ Merge branch 'develop'
, но когда я попытался git stash apply 1234ABC
, я продолжал получать следующее сообщение:
'1234ABC' is not a stash-like commit
Я также заметил, что, если я извлек эту ссылку в отдельную ветку HEAD, git checkout -b 1234ABC
, единственной доступной информацией журнала была только одна фиксация, которая содержала только изменения сделал и спрятал тогда - без какой-либо предыдущей истории предков.
Итак, я попытался сделать это из статьи Dev.to , чтобы попытаться обновить ссылки * * * * sh, но затем попытка вставить / применить sta sh там также не удалось применить. Это также привело к другим проблемам, таким как неспособность отбросить добавленный sta sh «Мой восстановленный sta sh».
git update-ref refs/stash 4b3fc45c94caadcc87d783064624585c194f4be8 -m "My recovered stash"
Q1: Что означает « разве не означает * * * * * * * * * * * * * * * *
Q: почему это произошло, и как я могу правильно применить эту sh?
Будет ли писать это, я попробовал git stash apply 0987XYZ
(больше думая о том, как моя удаленная ссылка sh имела только спрятанные изменения без какой-либо наследственной истории и как это были неперехваченные файлы, спрятанные в то время на текущем коммитном коммите 0987XYZ
).
Я думаю, что это похоже на решение, написанное здесь , но в решении, опубликованном оригинальным постером, нет никакой образовательной ценности, так что ...
Q3: В этом случае, будет ли git stash apply 0987XYZ
, применяя sta sh ref для родительского (или предыдущего) коммита, который мне нужен, правильный способ сделать это?
Спасибо за любые идеи и дополнительные информация для дальнейшего обучения меня об этом сценарии!