首页 > 解决方案 > 我可以回滚到之前的时间点,然后在 Android Studio 3.5.1 中使用 GitHub 回来吗?

问题描述

我在我的 Android Studio 项目中使用 GitHub,我提交了两次,有A1A2

现在希望回滚到之前的时间点A1看看,希望回滚后本地工作区也是A1

所以我选择'Reset Current Branch to Here'菜单项并从弹出窗口中选择'Hard'选项,你可以看到图1。就像我想的那样,当地的工作区是A1 。

看完后,我希望以本地工作区A2状态返回A2,但我发现A2记录关闭,你可以看到图 2

我有什么错误?

图 1

在此处输入图像描述

图 2

在此处输入图像描述

标签: gitandroid-studiogithub

解决方案


解决当前问题

您必须再次重置为 A2 才能恢复您的情况。由于您似乎更喜欢 Android Studio 的 UI 而不是 CLI,因此我建议您检查本地历史记录以恢复上次重置之前的状态。(但需要注意的是,在 CLI 中,它需要检查git reflog,发现要恢复的状态的哈希,然后git reset --hard <hash>


避免将来出现这种情况

当您必须检查较旧的提交,以便稍后返回当前状态而不修改最近的历史记录时,您不应该reset --hard而是checkout直接提交。

它会让你进入所谓的分离 HEAD 状态,这意味着你当前不是指向一个分支,而是直接指向树中的一个提交。

当您检查完上述提交后,要返回 A2,只需master再次检查您的 () 分支。


推荐阅读