2017-09-05 71 views
1

事情是这样的:使用Git获取文件误删除

1)我分叉的仓库

2)我克隆分叉回购我的笔记本电脑

3)我加了一些文件我自己

4)我不小心删除的文件(这是从原来的回购协议文件)

5)COMMITED之中,推动了改变(我觉得我跑为s这里的问题,以某种方式修复它)。所以在这一点上,我的笔记本电脑上的在线回购和离线回购都没有我意外删除的文件。只有我分叉的原始回购有它。

现在我想要取回该文件。在原始回购股票上做git pull只是告诉我我的股票是最新的。我怎样才能做到这一点?

我看到一些使用git checkoutgit rebase的答案,但我只是感到困惑(我对使用git相当陌生)。花了几个小时调试代码之后,我真的不想“调试”git命令。 -_-

所以请给它提供一个解决方案和一个简单的解释。

+0

显示您所做的确切命令。 –

+0

答案取决于你想要达到的目标。您可以简单地恢复您的提交或检出文件存在的另一个提交。你的主机上有gitweb或类似的东西吗?这至少会以一种简单的方式向你显示文件。 我强烈建议你阅读[某些git文档](https://git-scm.com/book/en/v2),因为它好像你根本不知道git是什么,你应该知道这些工具你正在使用(没有冒犯:) :) – getjackx

+3

[查找和恢复Git仓库中已删除的文件]可能的重复(https://stackoverflow.com/questions/953481/find-and-restore-a-deleted-file -in-a-git-repository) – getjackx

回答

1

您必须通过git log -n2 -- path/to/file查看文件历史记录才能找到包含该文件的上次提交的标识。这将向您显示文件被删除的提交以及之前的最后一个。请注意后者的提交ID。

然后用git checkout <commit_id_you_noted> -- path/to/file来恢复文件。

这将恢复文件,因为它在提交时编号为<commit_id_you_noted>。它将被标记为已添加,您将不得不提交它。

+0

谢谢!这确实有效。 – AZG