Egit - 现在无法结帐 - 卡在变基状态

Posted

技术标签:

【中文标题】Egit - 现在无法结帐 - 卡在变基状态【英文标题】:Egit - Cannot checkout now - stuck in rebase state 【发布时间】:2016-03-04 04:33:55 【问题描述】:

几天前我问了一个类似的问题,但没有得到有用的答案,所以我想让一切更准确。

我有一个大项目作为 github 上的私人仓库。我和我的一个朋友目前正在研究它。我将整个 repo 导入到本地存储库和 eclipse 中,一切都很顺利,直到出现合并冲突。每次,我都会遇到合并冲突(例如,当我在处理常用类之前忘记拉动),我的 eclipse 工作区中的整个项目会切换到“Rebase w/merge”状态:

现在如果出现合并冲突,我会得到分数。因此,我打开了类以使用合并工具进行合并,编辑了我必须更改的所有内容并再次将类添加到索引中。

接下来,我提交了所有合并更改,并将所有内容推送到上游到 master-branch 中(我们目前只使用 master,因为我们都没有太多的 git 和 vcs/svn 经验)。

但现在,我既不能切换回 master 分支,也不能取消 rebase 或做任何其他事情。

我试过了:

右键单击项目文件夹 -> 团队 -> 切换到 -> 主控。

这是错误通知。

接下来我被告知要在 Git Repositories View 中取消 rebase:

但是我的本地仓库和远程仓库都没有任何与变基相关的选项。

接下来我尝试了本地分行菜单中的“结帐”。结果相同。 我还尝试将我的本地分支推送到上游:

这是我对 merge/rebase 选项的预设,但是这两个选项会产生相同的结果:

我在 github 中查看了我的 repo - 我的所有更改(包括合并解析)都已推送到 master 分支并准备好获取。我的队友可以拉他们并继续从事该项目。但我无法逃脱这个带有合并状态的 Rebase。每次出现这种状态时,我都必须删除所有项目资源,删除本地存储库,将所有内容重新导入 eclipse,最后,我必须一遍又一遍地进行所有额外的配置。

那么:我怎样才能摆脱这个变基?顺便说一句:变基和合并有什么区别?

【问题讨论】:

【参考方案1】:

Git Staging 视图中有一个中止变基的选项。

【讨论】:

谢谢!那是我搜索的选项。有点奇怪,我总是不得不中止变基,我没有启动,但是中止对服务器文件没有影响,正如我所注意到的,所以在合并后,我只是中止并且一切都很好。泰! 您也可以点击continue。然后,EGit 会将 rebase 标记为我认为已完成。 谢谢!帮助了我【参考方案2】:

使用合并上游提交到本地分支。

变基意味着将旧主代码更改为新主代码(即更改分支的基础),合并意味着将您的更改添加到主代码。

您也可以尝试使用 git 命令行来解决此类冲突。

使用 Git Rebase/Merge 过程 在处理您的分支时,将所有文件添加并推送到服务器

git add .
git commit -m "SSSS"
git push -u origin <BranchName>
git checkout master
git pull

[A] master 是旧代码意味着你可以合并你的代码

git merge <your branch name>
git push

[B] Master 有更新的代码并显示从服务器提取的文件列表

$ git checkout your_branch  Note: make sure you are working in your branch
$ git rebase master

现在您将收到有关冲突的消息,因此请从底部开始处理每个文件以解决冲突 现在添加该文件

$ git add <filename which you just updated> 
$ git rebase --continue

执行以上两个命令,直到解决所有冲突。 现在 master 更改被合并到您的分支并推送到服务器

$ git checkout master
$ git merge <YOUR_BRANCH>
$ git push

验证 注意:如果您当前的更改被覆盖并且您不想继续,则在 rebase 时,运行 -

$git rebase --abort

在进行合并/变基时,如果出现一个消息窗口来编写您的提交语句,则没有转义......写一些东西然后执行以下操作-

$git reset --hard HEAD~1

[此命令会将当前提交头重置为 1 级回到上次合并中发生的情况将恢复]

【讨论】:

【参考方案3】:

如果您无法看到 Git Staging 视图或 staging 视图显示错误的存储库,则只需单击工具栏中的变基图标旁边的三角形,然后单击中止。

Click here

【讨论】:

【参考方案4】:

如果您在 rebase 状态下被阻止,并且 eclipse 拒绝中止它(没有响应),您必须通过取消选中以下选项来停用项目的自动构建:

项目/自动构建

这将停止所有挂起的构建。

【讨论】:

【参考方案5】:

git rebase --quit 为我工作。

【讨论】:

以上是关于Egit - 现在无法结帐 - 卡在变基状态的主要内容,如果未能解决你的问题,请参考以下文章

Paymentsense / woocommerce卡在结帐时[重复]

paypal沙盒api v2卡在结帐中

Eclipse EGit Checkout 与文件冲突:- EGit 不想继续

使用 nvp 设置快速结帐时卡在使用 curl 进行授权/身份验证

无法将 woocommerce 购物车页面更改为结帐

Chrome Webdriver无法完成产品结帐自动化