2015-07-06 3 views
1

Я пытался протолкнуть свой проект в новый репозиторий. К сожалению, я случайно удалил проект до завершения коммита. Все файлы в каталоге проекта были удалены. Как восстановить файлы?Git Repository Как восстановить удаленные файлы?

$ git log --diff-filter=D --summary | grep delete 
delete mode 100644 .gitignore 
delete mode 100644 LICENSE 
delete mode 100644 README.md 
delete mode 100644 app/__init__.py 
delete mode 100644 app/auth/__init__.py 
delete mode 100644 app/auth/forms.py 

ответ

2

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

git checkout .gitignore 
git checkout LICENSE 
git checkout README.md 
git checkout app/__init__.py 
git checkout app/auth/__init__.py 
git checkout app/auth/forms.py 

Если они совершены вам нужно будет вернуться к предыдущей фиксации, где, предположительно, существовали эти файлы. Обратите внимание: при этом будут удалены любые другие сделанные вами изменения, а не только восстановление этих файлов.

git reset --hard <SHA hash of commit where the files existed> 
+0

$ git checkout .gitignore error: pathspec '.gitignore' не соответствует ни одному файлу, известному git. – LeonF

+0

Это означает, что '.gitignore' не был частью предыдущего фиксации. Сожалею о вашей потере. – gustafbstrom

+0

@LeonF - см. Сброс части ответа, сообщение означает, что вы совершили удаление. Если в какой-то момент они были проверены на git, то сброс на это означает, что SHA вернет их обратно – JHowIX

1

Как вариант ответа JHowIX «s: если вы не совершали делеции и хотите восстановить все файлы в рабочем каталоге, не оставляя некоторые файлы удалены, вы можете использовать просто

git checkout . 
Смежные вопросы