主要内容

用Simulink三向合并解决冲突金宝app

这个例子向您展示了如何使用Simulink®三路合并来解决Simul金宝appink模型中的冲突。您可以在结果报告中查看和合并Simulink模型差异。金宝app

设置示例项目

创建和打开示例项目的工作副本。MATLAB®将文件复制到示例文件夹,以便您可以编辑它们。

slcomparisons.examples.金宝appsimulinkThreeWayMerge;
使用“MinGW64 Compiler (C)”编译。墨西哥人成功完成。

金宝appSimulink模型的变化和冲突

示例项目位于Git™源代码控制之下。尝试将另一个用户在主Git分支上的更改合并到您的Git分支中TaskBranch.这个操作会导致冲突。

要使用三向模型合并工具来解决冲突,此示例显示了如何检查本地文件(我的),互相冲突的修订(他们的)这两个文件的共同祖先(基地).

他们的:另一个用户更新了飞行员模型子系统,使用显式增益块来获取飞行员输入命令的幅度。他还更新了模拟停止时间。

我的:您更改了试验模型子系统的一些配置设置。

合并工具会自动合并不冲突的差异。按照下面的步骤检查自动合并选择,如果需要的话进行编辑,并决定如何解决任何剩余的差异。在解决冲突之后,将解决的模型提交到源代码控制。

打开Sim金宝appulink三路合并

在项目文件视图中寻找冲突的文件。的slproject_f14文件显示Git列中的红色警告符号,表示冲突。

1.要查看冲突的详细报告,右键单击slproject_f14文件并选择查看冲突

查看变更

三向合并工具显示对已导致此文件冲突的两个Simulink设计的更改。金宝app

  • 他们的基地我的树木显示了这些文件的冲突版本,修订版和基本祖先之间的差异。

  • 目标树显示要合并更改的文件。这是一个临时文件,将在您选择接受合并结果时复制到项目中。

2.通过单击其中一个树中的一行来检查差异。合并工具在一个编辑器中显示每个模型的更改,例如,在三路合并窗口的右侧的Simulink编辑器或配置参数对话框。金宝app

3.在合并标签,在突出节中,选择要显示的模型顶级模特或者底模型按钮。

点评自动合并

合并工具自动合并大多数非冲突的差异。

4.检查在顶部的第一个变化他们的通过单击所调用的行飞行员.此节点已自动合并,您可以使用该按钮调整自动选择目标树。如果要,请查看其他自动合并选择。

解决冲突

有两种类型的差异需要用户动作。

冲突:合并工具不能自动解决这些差异,你需要在目标文件中选择你想要的设计。在目标窗格,在冲突栏中寻找警告

手动合并:有些差异必须在Simulink中手工合并或忽略。金宝app在目标窗格中,这些项目由冲突列中的铅笔图标指示

5.选择stickcommand_rad.排。这种差异需要手动合并,由冲突列中的铅笔图标表示

解决线路变化差异targetFile通过重命名连接到命名块的输出的行飞行员在Simuli金宝appnk编辑器中stickcommand_rad.飞行员输出

解决差异后,保存编辑器中的更改,并使用冲突列中的手动合并控件标记更改解决的更改。

Merge报告不会更新以显示在编辑器中所做的任何更改。

6.使用下一个工具条按钮,查看并解决更改,直到遇到冲突为止。这StopTime参数已被两个用户更改,且存在冲突。使用。来解决冲突我的改变。选择旁边的按钮StopTime在矿山栏中目标窗格。

改变过滤器

默认情况下,该报告隐藏了所有非功能更改,例如重新定位项目。

7.在合并标签,在过滤器节中,打开和关闭过滤器来探索这些设计之间的不同变化。

接受变化

8.在您解决所有过滤和未过滤的更改后,单击接受和关闭.合并工具关闭报表和模型,接受合并结果targetFile,并将冲突标记为源控制工具中已解决的冲突。您现在可以提交更改源控制并继续您的工作。

进一步的信息

比较模型的模型金宝app

项目中的源代码控制

解决冲突

比较修订

自定义外部源控件以使用MATLAB用于差异和合并

相关的例子

比较和合并Simulink模型金宝app

比较和合并包含状态流的Simulin金宝appk模型