这就是发生的事情:
1)我分叉了一个存储库
2)我将分叉的回购克隆克隆到我的笔记本电脑
3)我添加了一些我自己的文件
4)我不小心删除了一个文件(它是原始回购文件中的文件)
5)通过并推动了更改(我想我在这里遇到了一些问题,不知何故修复了它)。所以在这一点上我的笔记本电脑中的在线仓库和离线仓库都没有我意外删除的文件。只有我分叉的原始仓库才有它。
现在我想要恢复该文件。在原始仓库上执行git pull
只是告诉我我的是最新的。我怎么能这样做?
我看到一些使用git checkout
和git rebase
的答案,但我感到困惑(我对使用git相当新)。在花了几个小时调试代码后,我真的不想"调试" git命令。 -_-
所以请提供一个解决方案和一个简单的解释。
答案 0 :(得分:1)
您必须通过git log -n2 -- path/to/file
查看文件历史记录,找到包含该文件的最后一次提交的ID。这将显示文件被删除的提交以及之前的最后一个文件。注意后者的提交ID。
然后使用git checkout <commit_id_you_noted> -- path/to/file
恢复文件。
这将恢复文件,因为它在ID为<commit_id_you_noted>
的提交中。它将被标记为已添加,您必须提交它。