Как восстановить файл, ранее удаленный в истории git?

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

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

Ответ 1

Я понял:

git tag originalHead # just in case
git rebase -i <id of the parent of the commit that deleted the file>
# change pick to edit for that commit
git checkout <id of the previous commit> <filename> # thanks for reminding, kubi
git commit --amend
git rebase --continue
git tag -d originalHead

изменить, к сожалению, это оставит все теги на старой временной шкале, см. здесь

Ответ 2

git checkout <commit> <filename>