git reset --hard导致一些丢失的文件

时间:2014-03-03 10:45:02

标签: xcode git

我必须回到之前的提交,我使用了git reset --hard命令:

git reset --hard ff680b51a3f3d7d695bbef0367cfe7b75d9be60e

但是,我注意到我的项目现在正在编译,错误如下:

  "_OBJC_CLASS_$_SetupDishViewController", referenced from:

显然缺少名为SetupDishViewController的文件,我确信当我提交ff680b51a3f3d7d695bbef0367cfe7b75d9be60e时它就在那里,我在远程分支上仔细检查以确保它就在那里。

如何恢复?有没有办法从远程分支撤回该提交?

2 个答案:

答案 0 :(得分:0)

是的,找到提交的哈希并执行:

$ git cherry-pick <hash-of-commit>

答案 1 :(得分:0)

如果你有最新版本的git,可以尝试使用以下版本取回该文件的最新版本:

git reset @{2.days.ago}  SetupDishViewController

使用@{date}表示法,您可以指定yesterday"1 month ago"等时间间隔。