2012-04-03 1 views
15

Это кажется очень глупой ошибкой, я просто сделал git stash pop на грязном рабочем дереве. Я не знаю никакого способа сохранить желаемые изменения и отменить stash pop. Есть ли один? Или такая ошибка непростительна?Undo git stash pop on грязное рабочее дерево

ответ

8

Если у вас все еще есть SHA1, вы можете создать патч из него (git format-patch SHA1) и применить патч в обратном порядке (git apply -R filename.patch).

Если вы потеряли SHA1, см How to recover a dropped stash in Git?

+0

Как вы создаете файл патча из команды format-patch? – meson10

+0

Данная команда создает патч для фиксации 'SHA1'. – adl

+1

Это не похоже на слияние; когда я делал «git stash pop» в моем грязном рабочем каталоге, он объединил спрятанные изменения, поэтому 'git format-patch SHA1' ничего не делал. Любые идеи для обходного пути? – Will

1

git stash pop делает 2 вещи: git stash apply и git stash drop. Если вы можете отменить drop, используя this question and answers, вам просто нужно отменить apply. Я не уверен, как это сделать, , но вы можете посмотреть git rebase. но adl делает.

 Смежные вопросы

  • Нет связанных вопросов^_^