从存储库恢复已删除的文件

时间:2012-06-25 22:53:37

标签: git svn

我正在从SVN过渡到GIT并得到一个我无法找到答案的问题。 当我通过SVN处理一些开源项目时,我将描述通常情况。

  1. 结帐
  2. 开始搞乱文件,进行更改,测试项目的工作方式。
  3. 在p.2之后,一些文件被大量修改,我没有机会回到原始状态。
  4. 我从磁盘“rm filename.cpp”中删除修改后的文件,运行命令“svn update”,然后回复所有原始文件。
  5. 除了第4页外,所有这些都适用于GIT。我尝试制作“git pull”,它说该项目是最新的,即使它们从本地文件夹中丢失,我也没有得到原始文件。

    使用git时p.4的正确命令是什么。 THX

4 个答案:

答案 0 :(得分:16)

最简单的方法显示在git status的输出中:

git checkout -- file

其中file可以是已删除文件的名称。 这将恢复已删除的文件,而不会影响其他文件。

答案 1 :(得分:11)

尝试签出当前分支(或HEAD):

git checkout HEAD

或者如果你想将所有恢复到最后一个提交状态(警告:这将永久删除所有未提交的更改!),你也可以重置:

git reset --hard

答案 2 :(得分:0)

这就是我要做的事情:

git reset HEAD <file-path> git checkout -- <file-path>

答案 3 :(得分:-1)

在这种情况下,Git非常糟糕,而且我一直在努力使它变得如此令人难以置信。这是我的方式:

  1. 将远程仓库克隆到本地高清上的某个地方 您拥有现有本地仓库的地方
  2. 将已删除的文件/目录从新克隆的仓库复制到现有的本地仓库
  3. 将更改提交到现有的本地仓库,如果需要,也可以推送到远程仓库
  4. 删除新克隆的本地仓库
  5. 为什么完成这么简单的任务应该让这个复杂而耗时的事情让我感到安慰......