在git中撤消已删除的文件?

时间:2013-06-08 15:15:44

标签: git

新手需要一些帮助来解决混乱!

我想将我的网站推送到git存储库,所以我使用了git add命令。然后,在我提交之前,我意识到我已经添加了我的根文件夹中的所有内容,而不仅仅是我想要的目录。由于我不想做那个提交,我使用git rm --chached命令删除所有内容,认为我只是改变了将被推送到git的内容。我也用git clean。

现在,我意识到这些命令实际上删除了我网站上的文件!我做了什么?如果有人能帮我把东西放回原处,我会非常感激。 -JB

3 个答案:

答案 0 :(得分:2)

你可以做到

git reset --hard HEAD^

要在版本历史记录中向后移动一步,请有效撤消上次提交,包括所有删除操作。

如果您已推送更改,则可以改为

git revert HEAD

创建一个新的提交,恢复删除提交,然后推送它。

这个答案假设您确实提交了更改,这是您最后一次提交。如果您没有提交更改,Willy的回答会更好。

答案 1 :(得分:2)

如果您已删除工作区中的所有文件。您可以使用以下命令将其恢复。

git checkout -f

文件应该回来了!

答案 2 :(得分:0)

你试过git reset --hard (commit # before this horrible accident)吗?

然后使用git pull origin master从在线git仓库中提取文件以恢复您的文件。

此过程的更深入解释位于此SO thread上。