解决合并冲突

假设您正在处理某个模型。如果您修改了模型内容,而其他协作者也做了改动,就很可能遇到合并冲突。

Gaphor 会尽可能精简模型变更:所有元素均按相同顺序存储。但由于 Gaphor 模型本质上是持久化的对象图(Graph of objects),其合并操作远比文本编辑器复杂。

自 Gaphor 2.18 版本起,该软件已支持模型合并功能。当检测到合并冲突时(即模型文件中出现 Git 冲突标记 <<<<<<<=======>>>>>>>),Gaphor 将提供以下处理选项:通过合并编辑器打开当前模型、接收的模型或手动合并变更。

显示合并冲突处理选项的对话框。

若选择打开合并编辑器,系统将同时加载两个模型:当前模型保持原状,同时会计算接收模型的变更内容。这些变更将以_待定变更(Pending change)_对象的形式存储在模型中。

小技巧

待定变更将作为模型组成部分保存,您可先保存含变更的模型,后续再行解决冲突。

合并编辑器将显示在界面右侧,并取代(常规的)属性编辑器

Gaphor 主窗口界面,右侧显示合并编辑器。

合并操作将按图示分组处理(在可行情况下)。当应用某个变更时,其下属所有子变更将同步生效。已应用的变更仅能通过 撤销 操作回退(点击 撤销 按钮)。

备注

只要模型中存在待定变更,合并编辑器就会取代属性编辑器。

建议最佳实践是在继续建模前先解决合并冲突。

当所有冲突解决完毕后,点击解决按钮完成合并冲突处理。