Как мне восстановить файл, удаленный из git с помощью ответвления фильтра и удаленный? - PullRequest
0 голосов
/ 08 ноября 2018

Недавно я удалил несколько файлов из своего репозитория с помощью ветки git filter. Вот инструкции, которым я следовал: https://help.github.com/articles/removing-sensitive-data-from-a-repository/. После этого я перебазировал свою ветку разработки, чтобы новые коммиты в этой ветке не возвращали какую-либо историю. Но в процессе я забыл, что я внес изменения в файл в этой ветви, который я удалил в отфильтрованной ветви. Поэтому, когда я перебазировал ветку dev, этот файл исчез. Возможно ли восстановить этот файл?

До сих пор я пытался сделать git reflog, чтобы увидеть, к какому коммиту я мог бы вернуться, и в котором был бы этот файл. Когда я использовал git reset --hard, используя старый хеш коммита, я получаю эту ошибку:

fatal: ambiguous argument '07a8efd': unknown revision or path not in the working tree

Я полагаю, что эта ошибка может быть связана с тем, что я выполнил ветвь фильтра и принудительно перенес отфильтрованную историю обратно на удаленный. Инструкции по очистке также имели

git reflog expire --expire=now --all

, который также объясняет, почему этот конкретный коммит не может быть найден. Что я могу сделать в этой ситуации, чтобы восстановить этот файл?

РЕДАКТИРОВАТЬ: После перебазирования я внес еще несколько изменений в ветку dev, поэтому было бы очень полезно найти вариант, который не включает в себя отказ от всей этой работы.

...