在 Android Studio 中还原/撤消 Git 变基

Revert / Undo Git Rebase onto in Android Studio

今天我遇到了一个意外发生的问题。

对于我目前的项目,我的工作室有两个本地分支机构。

各地分行:

a) master (被动分支)

b) 账户(活跃分支)

在远程服务器上也是如此。

昨天我将我的本地帐户分支推送到远程。

我的问题:

首先,我结帐到本地主分支,然后单击本地帐户分支并单击 Rebase onto... :(

现在我的两个分支显示相同的文件和目录结构。

Android Studio 正在显示类似

的消息

a)Gradles 项目同步失败。(基本功能将无法使用)

b)模块SDK未定义。

在每个文件中,所有导入的模块和库都显示错误。

我读到了 Rebase,但我不清楚它在我的案例中做了什么。

我的问题:

我该怎么做才能恢复正常?

我不明白,为什么两个分支机构都收到相同的 gradle 消息。

它是否也影响到我的远程文件?

我可以从本地历史记录中恢复吗?

我不确定您是否可以在 Android 工作室中执行此操作,但肯定可以在控制台上执行此操作。检查 git reflog (https://git-scm.com/docs/git-reflog).

您可以输入 git reflog 并检查您要恢复到哪个点,然后输入 git reset 'HEAD@{1}。 (根据 git reflog.

的输出替换 HEAD@{1}

做起来相当简单。首先,在 Android Studio 中打开 VCS 选项卡。

在栏的顶部,您会看到它显示日志:

右键单击任何给定修订,然后 select "checkout revision"。这确实使用了 checkout commandreverting from the commandline

上的示例用法

或者,您可以使用还原按钮:

但是你只能使用它恢复到最后一次提交,所以如果你想进一步返回,使用第一种方法更容易

不,您不能使用本地历史记录进行还原。这是文件特定的历史记录,而不是 VCS 历史记录。单个无效缓存并重新启动会擦除此历史记录,因此使用起来不可靠。在这些情况下使用 VCS 更好,尤其是当您已经安装 Git 并在项目中处于活动状态时

VCS 菜单中有一些选项 -> Git 子菜单包括中止变基以撤消变基。其他选项是跳过并继续变基。