Git Repository如何恢复已删除的文件?

时间:2015-07-06 15:56:34

标签: git github

我试图将我的项目推送到新的存储库。不幸的是,我在提交完成之前意外删除了项目。项目目录中的所有文件都已删除。我该如何恢复文件?

$ 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 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

作为JHowIX答案的变体:如果您没有提交删除并想要取消删除工作目录中的所有文件,而不删除某些文件,则可以简单地使用

git checkout .