主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

使用 System Composer 三路合并工具解决工程中的冲突

此示例展示了如何使用 System Composer 三向合并工具 来调查和解决工程中的 System Composer™ 架构模型中的冲突。您可以在生成的报告中查看和合并 System Composer 架构模型的差异。

合并工具会在您打开合并报告之前自动合并无冲突的更改。此示例演示了如何:

  • 审查自动合并的选择项。

  • 将您所需的编辑内容应用到目标文件中。

  • 决定如何解决任何剩余的分歧。

解决冲突后,您可以将已解决的架构提交到源代码管理。

System Composer 架构更改和冲突

示例工程 RobotArchitectureProject 处于 Git™ 源代码管理之下。当您尝试将同事在 main Git 分支上的更改合并到您的 t askBranch 分支时,该操作会导致冲突。

要使用“三向合并”工具解决冲突,请检查本地文件(在本示例中为 Mine,即 taskBranch 分支)、冲突的修订版本(在本示例中为 Theirs,即 main 分支)以及这两个文件的共同祖先 (Base)。

  • Theirs - 一位同事在 main 分支上工作,更新了 Motion 组件,并更新了 Component View 视图中使用的查询。

  • Mine - 您更新了 Motion 组件的名称,并更新了 taskBranch 分支上的 Component View 视图中的查询。

打开 System Composer 三路合并工具

在“工程”面板中,查找冲突文件。RobotArchitecture 文件在源代码管理列中显示一个红色警告图标,表示存在冲突。

要查看冲突的详细报告,在“源代码管理”面板的修改的文件部分,右键点击 RobotArchitecture 文件,然后选择查看冲突

Project View of the robot architecture project showing a conflict with the Robot Architecture model file.

查看更改

三路合并工具显示了导致此文件冲突的两个 System Composer 架构模型的更改。

  • 主要taskBranchBase 窗格显示冲突修订、您的修订以及这些文件的基祖之间的差异。

  • 目标窗格显示合并更改的目标文件。当您选择接受合并结果时,该工具会将此临时文件复制到工程中。

  • 右下角的摘要表显示合并工具自动解决了非冲突的差异。该表还显示,您必须解决剩余的更改。

Three-Way Merge tool report showing differences between Theirs, Base, and Mine revisions of the Robot Architecture model file.

您可以直观地检查架构模型文件中的个体差异。

  1. 要查看差异,请点击其中一个树中的行。合并工具在编辑器中显示每个模型的更改,例如,三路合并窗口右侧的 System Composer 画布。

  2. 合并选项卡中的突出显示部分,点击顶层模型底层模型按钮选择要显示的模型。

解决冲突

合并工具会在打开三路合并报告之前自动合并大多数无冲突的差异。在此示例中,您可以看到十处差异被自动合并。

合并工具无法解决冲突的差异。您必须在目标树中选择要保留在目标文件中的设计。

要解决冲突,请按照以下步骤操作。

1.使用下一个按钮导航至冲突位置。您和您的同事更改了 Name 属性,因此该属性发生冲突。在目标窗格中,默认情况下,该工具会选择来自分支 taskBranch Blue branch icon 的更改。

2.要使用默认选项解决冲突,请将冲突标记为已解决。在目标窗格中,点击名称行中的冲突图标,然后点击标记为已解决

3.在工具栏上,使用下一个按钮查看下一个冲突。Component View 视图存在冲突,因为您和您的同事修改了该视图的颜色和查询内容。

  • 对于 Component ViewColor 属性,如果您想保留基版本的更改,请选择基 Orange branch icon. 列中的选项按钮。

  • 对于 Component ViewComponent Selection Query 属性,如果您想保留 main 分支中的更改,请选择 main 分支 列中的选项按钮。

A conflict with the Architecture View Color and Component Selection Query properties. In the tree, the Base change is selected for the Color property and the Mine change is selected for the Component Selection Query property.

4.在工具栏上,使用下一个按钮跳转到下一个冲突。Motion ComponentComponent View 视图中发生冲突,因为您和您的同事更改了 Motion 组件的组件名称,并且此更改传播到视图。

  • 为了与之前选择的更改保持一致,请选择 taskBranch 分支列 中的选项按钮。

5.查看摘要表,确认您已解决所有冲突。

在此示例中,摘要表显示您已成功解决所有冲突。

Panel of the Three-Way Merge tool displaying metrics: 5 resolved conflicts and 10 automatically resolved changes.

如果您解决了当前视图中的所有冲突,但摘要表标题仍显示还有更改,请禁用过滤器以查看并解决剩余冲突。在合并选项卡中的过滤器部分,关闭过滤器。

接受更改

1.解决所有已过滤和未过滤的更改后,点击接受并关闭。合并工具将关闭报告和模型,接受 targetFile 中的合并结果,并在源控制工具中将冲突标记为已解决。

2.在将已解决的模型文件提交到源代码管理之前,通过将合并更改与当前分支进行比较来执行最终审查。

在工程的源代码管理视图中,右键点击模型,选择查看更改

The Source Control panel displaying the RobotArchitecture model as a modified file. The right-click menu shows the 'View Changes' option.

另请参阅

| |

主题