Git - Как восстановить изменения кода из файла после случайного извлечения конкретного файла
Я случайно сделал контрольный файл. И в этом файле были изменения кода.
Так могу ли я восстановить эти изменения?
1 ответ
Вопреки тому, что люди, оставившие комментарии, заставят вас поверить, проверка на конкретный путь (т.е. git checkout path/to/my/file
) действительно перезаписал бы ваши неустановленные изменения в этом файле без предупреждения, потому что это именно та команда, которую git ожидает от вас, если вы намерены отменить неустановленные изменения.
И, к сожалению, из-за того, что изменения были неустановленными, у git их нет. Хотя git очень хорошо сохраняет историю после ее фиксации, он не предлагает никакой специальной защиты для дерева работ; поэтому команды, влияющие на неотслеживаемые файлы или файлы с неустановленными изменениями, особенно опасны.
Если вы делаете непрерывные резервные копии (или вам повезло, и вы сделали резервную копию, пока существовали изменения), вы можете использовать их. Некоторые IDE хранят историю работы, которая может помочь. Но, к сожалению, в большинстве случаев (если у вас нет необычайно надежных методов резервного копирования) в этом сценарии, вероятно, мало что можно сделать.