我正在XCode中开发一个应用程序,我正在通过终端使用git存储库。所有更改都已提交,现在我想恢复到上一次提交,但是,当我尝试'git checkout 10f3592'时,它说'HEAD现在是10f3592 ......'但是在XCode中我的源文件没有更改。好像git忽略了我的命令。我该怎么办?有没有人遇到过这样的行为?我只有一个分支顺便说一句。任何帮助表示赞赏。
答案 0 :(得分:1)
命令git checkout 10f3592
只是在提交10f3592
处检出处于分离头状态的分支。它实际上并没有改变你的分支的状态。
如果您想逐字git revert
提交10f3592
,请使用git revert
:
git revert 10f3592
这将指示Git在您的分支顶部进行 new 提交,这有效地撤消了10f3592
提交的所有内容。
但有时在你的历史中有一个恢复提交并不是那么好。避免这种情况的一种方法是,如果您尚未推送本地分支,而其他人尚未见过提交10f3592
,则通过以下方式提交 nuke :
git reset --hard HEAD~1