Восстановить удаленный файл из git после коммита

Восстановить удаленный файл из git после коммита

Я закоммитил файл в свой локальный Git, а затем отправил его на GitHub.

Я выполнил следующие команды, чтобы удалить этот файл, а затем отправил его на github:

git rm file.txt
git commit -m remove file.txt
git push -u github master

Затем я понял, что хочу вернуть файл. Я попробовал инструкции, изложенные здесь: https://www.quora.com/Как-мне-восстановить-файл-удаленный-из-локального-репозитория-из-удалённого-репозитория-в-Git

Я выполнил следующую команду:

git rev-list -n 1 HEAD -- file.txt

что дало мне хэш для версии, в которой был мой файл: HASH. Который я затем использовал в следующей команде:

git checkout HASH^ file.txt

Что затем выдало мне следующую ошибку:

error: pathspec 'file.txt' did not match any file(s) known to git

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

решение1

Используйте git reflogдля получения хеша коммита для точки, в которой был ваш файл. Затем используйте git checkout <hash>для возврата к этому хешу коммита.

В качестве альтернативы вы можете использовать , git checkout HEAD{1}чтобы вернуться на один коммит назад.

Связанный контент