我试图将我的项目推送到新的存储库。不幸的是,我在提交完成之前意外删除了项目。项目目录中的所有文件都已删除。我该如何恢复文件?
$ 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
答案 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 .