根据EGit 用户指南,要使用合并工具,应右键单击存在合并冲突的资源,然后选择Team > Merge Tool。但是,当我这样做时,合并工具选项是灰色的。EGit 正在正确检测冲突并向我显示冲突文件的图标和文本标签装饰。
有任何想法吗?
它对我来说被禁用了,因为我的存储列表上有一些更改。
$ git stash clear
为我解决了这个问题。
它可能取决于您使用的 EGit 版本,以及导致冲突的操作。
例如,请参阅错误 339092,其中提到在挑选樱桃后发生冲突时未启用合并工具:只有刚刚发布的 EGit 0.12 才支持该功能。
合并工具会被禁用的唯一时间(除了错误)是当您处于冲突状态以外的任何状态时;即,您只会在状态为“冲突”时看到启用该选项。在大多数视图中,状态显示在项目名称旁边,例如 Project Explorer 和 Synchronize。
确保您已与所需的分支合并,然后如果您的合并导致冲突,您的项目将进入冲突模式,并启用合并工具。
如果您处于分离的头部状态,也会发生这种情况(在我的情况下,我检查了一个远程分支然后忘记了)。
此外,即使在您纠正了问题之后,您也可能必须选择一个不同的项目,然后重新选择您真正想要的项目(只需在包资源管理器视图中选择),以便更新菜单。
如果您尝试将更改推送到远程并且需要从远程进行合并,则会发生这种情况。它以“not FF”失败,但同时检测到冲突。不要问我为什么此时它没有将整个项目标记为冲突。
打开同步选项卡,右键单击项目并选择“合并”。由于文件冲突,这会立即失败,它会打开项目的冲突图标标签并启用“合并工具”选项。
这适用于 Eclipse Mars 中的 EGit 4.0.3。