потерянные изменения git stash
вот что произошло: Я был на ветке " А " и сделал git stash на этой ветке. Затем я переключился на другую ветку "Б". Я вернулся к ветке "А", но не сделал git stash pop. Я переключился на главную ветку, а затем снова на ветку "а". Я пытаюсь пойти git stash pop сейчас, но, похоже,не могу вернуть свои изменения.. Мне нужно восстановить этот код, но всякий раз, когда я делаю git stash pop, мои изменения файла не перечислены. Я не совершал никакого кода.
есть ли способ восстановить изменения, которые я сделал? буду очень признателен за любую помощь в этом отношении.
3 ответов
тайники должны быть доступны для просмотра через
git stash list
или
gitk --all
и git stash
не хранит неотслеженные файлы. Если вы сделали это и впоследствии сделали git checkout --force
другой ветви, чтобы перезаписать неотслеженные файлы с отслеживаемыми в другой ветви, вы потеряли это содержимое. Рекомендуемый способ заначки-с
git stash -u
это предотвратит потери этого типа.
мы также столкнулись с той же проблемой. Итак, вот как мы восстановили потерянные изменения:
-
вернитесь в отделение B.
git checkout B
-
использовать
git reflog
возможность чесотки reflog информации.git reflog --all
выход:
f332d5c refs / stash@{0}: WIP на B: aa1d0c1 XYZ фиксация сообщение
теперь переключитесь на ветвь A с помощью
git checkout A
-
наконец, чтобы восстановить потерянные изменения.
git stash apply f332d5c
нечто подобное случилось со мной. Короче говоря, убедитесь, что вы случайно не толкнули новые файлы в другую ветку.
вот что случилось со мной: я спрятал свои вещи, переключился с " dev " на "master", чтобы быстро сделать исправление. Когда я нажал исправление для master, я не заметил, что я также добавил свои новые файлы, предназначенные для dev в master branch-я тоже предполагал, что stash включал эти файлы.