Потерянные изменения git
Итак, вот что произошло:
Я был на ветке "А" и сделал тэг Git на этой ветке. Затем я переключился на другую ветку "B". Я перешел обратно в Branch 'A', но не сделал приклада Git. Я переключился на главную ветку, а затем вернулся к ветке "А". Я пытаюсь перейти к приложению Git stash pop, но can not, похоже, получил мои изменения. Мне нужно восстановить этот код, но всякий раз, когда я делаю всплывающее сообщение Git, мои изменения в файле не перечислены. Я не совершал никакого кода.
Есть ли способ восстановить изменения, которые я сделал? был бы очень признателен за любую помощь в этом отношении.
Ответы
Ответ 1
Штампы должны отображаться через
git stash list
или
gitk --all
также, git stash
не застревает необработанные файлы. Если вы это сделали, а затем git checkout --force
другого ветки, чтобы перезаписать не проверенные файлы отслеживаемыми в другой ветке, вы потеряли это содержимое. Рекомендуемый способ сохранения:
git stash -u
Это предотвратит потери этого типа.
Ответ 2
Мы также столкнулись с той же проблемой. Итак, вот как мы восстановили потерянные изменения:
-
Вернитесь к ветки B.
git checkout B
-
Используйте опцию git reflog
для сбора информации о рефлоге.
git reflog --all
Вывод:
f332d5c refs/stash @{0}: WIP on B: сообщение aa1d0c1 xyz commit
-
Теперь перейдите в ветвь A, используя git checkout A
-
Наконец, чтобы восстановить потерянные изменения.
git применить stash f332d5c
Ответ 3
Что-то подобное случилось со мной. Короче говоря, убедитесь, что вы случайно не нажали новые файлы на другую ветку.
Вот что случилось со мной: я спрятал свои вещи, переключился с "dev" на "master", чтобы быстро сделать исправление. Когда я подтолкнул мое исправление к мастеру, я не заметил, что я также добавил свои новые файлы, предназначенные для dev для главной ветки - я тоже предположил, что в файл включены эти файлы.