Git восстановить незафиксированные изменения

У меня было много локальных изменений.

Я просто случайно сделал

git merge another_branch
git reset --hard HEAD^

на большом количестве работы. :( с намерением я не хотел, чтобы здесь были объединенные изменения.

Как восстановить исходное состояние?

Нет, локальные изменения никогда не были зафиксированы/спрятаны.

Ни за что?


person lprsd    schedule 13.07.2010    source источник
comment
Вы заглядывали в git stash? Может быть то, что вам нужно, но я не уверен на 100%   -  person Bartek    schedule 13.07.2010
comment
См. также шаги по восстановлению промежуточных файлов.   -  person Top-Master    schedule 05.04.2021


Ответы (6)


Если изменения никогда не были зафиксированы/спрятаны/подготовлены, то вам не повезло. Если да, то вы сможете вернуть свои изменения, найдя их в git reflog.

person jamessan    schedule 13.07.2010

Для тех, кто сталкивается с этой проблемой в ide, есть решение. Найдите файлы истории редактора ide вашего ide. У меня была проблема с Android Studio, поэтому здесь я дам вам решение для Android Studio.

Например: в студии Android вы всегда можете увидеть предыдущие файлы, щелкнув правой кнопкой мыши папку проекта-> LOcal History-> Показать историю.

Вы можете просмотреть историю изменений файлов, а также открыть файлы и сравнить их с новыми файлами рядом. Если вам нужен старый код, просто скопируйте и вставьте его оттуда.

person Nabil Mohammed Nalakath    schedule 12.09.2017
comment
Это было решением моей проблемы!! - person Sami Issa; 18.11.2020
comment
Подобно этому предложению, некоторые IDE автоматически сохраняют резервные копии файлов. Например, MATLAB, начиная с 2012 или 2013 года, автоматически сохраняет резервную копию m-files с расширением .asv в том же каталоге исходного файла. - person iled; 01.01.2021
comment
спас мой день (у) - person Abdul Mannan; 27.03.2021

Хотя незафиксированные изменения отслеживаемых файлов будут утеряны, я думаю, что любые неотслеживаемые файлы останутся, если вы их впоследствии не удалите.

person Eric Walker    schedule 14.07.2010

Попробуйте отменить действие файла непосредственно из IDE. Вы получите то, что вам нужно.

Вероятно, это не поможет @Lakshman Prasad, но поможет кому-то другому :-D

person avrsanjay    schedule 08.01.2020

загляните в корзину! Я нашел там свои удаленные (незафиксированные) файлы

person Dan Alboteanu    schedule 08.04.2020

я смог восстановить свои файлы, используя git log -g, мои изменения были там, потому что я зафиксировал их один раз, а затем отменил свои изменения, а затем я увидел, что все файлы, над которыми я работал, потеряны,

выполнив git log -g || git reflog -g будет отображать журналы последних коммитов,

я нашел свой хэш коммита, и я проверяю его, используя эту команду git reset #commitHashID

это может помочь кому-то с подобным сценарием

person Hanzla Habib    schedule 14.06.2020