我搞砸了我的rails app,所以我使用了命令:
$ git checkout -f
回到我之前的提交并摆脱我的搞砸了。经过研究,我看到这个命令撤消了所有局部变化!现在我的应用程序显示了Firefox中项目的初始提交,我似乎无法将其恢复到最新提交并显示我已完成的所有工作,因此我可以在浏览器中对其进行测试。我在这篇文章How do I undo a checkout in git?
中尝试了三种策略$ git reset --keep
$ git checkout master
$ git reset --hard HEAD
但我仍然看到应用程序就像我第一次启动项目时那样。当我输入...
git status
终端显示我在分支主机上。我在运行git reflog时仍然看到所有提交。如何恢复我的应用程序,以便我实际看到所有本地更改并可以在浏览器中继续测试应用程序?
答案 0 :(得分:1)
了解reflog是什么以及如何查看它是件好事。从reflog中选择要保留的最新提交,并且:
git reset --hard abc123
其中abc123
是您想要的提交的SHA1。这会将master
(您当前的分支)更新为提交abc123
,以及该隐含的所有历史记录。