Как восстановить файл, ранее удаленный в истории Git? - PullRequest
43 голосов
/ 30 июня 2010

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

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

Ответы [ 2 ]

68 голосов
/ 30 июня 2010
git checkout <commit> <filename>
50 голосов
/ 30 июня 2010

Я понял:

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

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

...