Потерянные изменения 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 для главной ветки - я тоже предположил, что в файл включены эти файлы.