2016-09-15 90 views
0

我正在XCode中开发一个应用程序,我通过终端使用git存储库。所有更改都已提交,现在我想恢复到上次提交,但是,当我尝试'git checkout 10f3592'时,它表示'HEAD现在处于10f3592 ...',但在XCode中,我的源文件未更改。好像git忽略了我的命令。我该怎么办?有没有人遇到过这样的行为?我只有1个分支顺便说一句。任何帮助表示赞赏。忽略忽略git源代码控制结账

+0

你觉得呢'git的承诺10f3592 '是吗?! 10f3592是你最后一次提交吗?如果是这样,那么检查出来不会改变任何东西。 – Biffen

+0

@Biffen一个错字,我刚刚编辑过。我的意思是结账* –

+0

那么你是否正在检查你最后一次提交?你希望能“恢复”它?看起来你最好做的事情是阅读一些Git文档/教程。 – Biffen

回答

1

命令git checkout 10f3592只是在提交10f3592时检出分离头状态中的分支。它实际上并没有改变你的分支的状态。

如果你想从字面上git revert提交10f3592,然后使用git revert

git revert 10f3592 

这将指示的Git做出承诺在你的分支的顶部,有效地撤销其呈交10f3592所做的一切。

但是有时在历史中有一个恢复提交并不好。一种方法避免这种情况,如果您还没有被推您当地的分行,并没有其他人目前还没有看到承诺10f3592,是核弹是通过承诺:

git reset --hard HEAD~1 
+0

现在我注意到我有一个HEAD分离在10f3592。如何修复分离的头部? –

+1

@KirilShishkoski没有什么可以“修复”。只需签出您的分支并按照我的答案删除提交。 –