解决冲突
解决冲突
如果您和另一个用户在不同的沙箱或不同的分支上更改相同的文件,则在尝试提交修改后的文件时将出现冲突消息。必要时提取冲突标记,比较导致冲突的差异,并解决冲突。
中查找冲突的文件修改(文件数量)选项卡。
使用源代码控制摘要状态识别冲突的文件夹内容。文件夹显示卷起的源代码控制状态。这使得更容易定位文件中的更改,特别是冲突文件中的更改。您可以将鼠标悬停在文件夹的源代码控制状态上,以查看显示其中有多少文件被修改、冲突、添加或删除的工具提示。
提示
使用
列表
布局以查看文件,而不需要展开文件夹。检查源代码控制状态列(Git或SVN),用于带有红色警告符号(表示冲突)的文件。
右键单击冲突文件并选择观点冲突比较版本。
检查冲突。该项目打开一个比较报告,显示冲突文件之间的差异。
对于SVN,比较的是冲突文件的版本与冲突文件的版本之间的差异。
对于Git™,比较显示了您的分支上的文件与您想要合并到的分支上的文件之间的差异。
有关模型文件,请参见合并比较报告中的Simulink模型.
使用比较报告来确定如何解决冲突。
要解决冲突,你可以:
使用报告合并修订之间的更改。
决定用一组更改覆盖另一组更改。
通过编辑文件、更改标签或编辑项目描述,从项目中手动进行更改。
当您解决了更改并希望在项目中的沙箱中提交版本时,右键单击该文件并选择源控制>冲突解决.您可以使用合并工具来标记已解决的冲突,也可以选择在项目中手动标记已解决的冲突。
的分支状态Git窗格从
合并
来安全
.选择修改(文件数量)选项卡检查更改。在项目选项卡上,单击提交.
合并文本文件
当比较文本文件时,您可以合并从一个文件到另一个文件的更改。合并更改在解决不同版本文件之间的冲突时非常有用。
冲突标记出现在文本比较报告中,如下所示:
< < < < < < < .mine
提示
你只能从左到右归并。当与源代码控制中的另一个版本进行比较时,正确的文件就是沙箱中的版本。左边的文件要么是先前版本的临时副本,要么是导致冲突的另一个版本(例如,
)。观察比较报告顶部左右文件的文件路径。将左边(临时副本)文件的差异合并到右边文件以解决冲突。文件名
_theirs
在“对比工具”报表中,选择报表中的差异项,单击替换内容.选择的差值从左边的文件复制到右边的文件。
单击,取消替换内容撤销.
或者,使用内联替换内容而且撤销图标。
报告顶部的合并文件名显示了脏标志(
)以显示该文件包含未保存的更改。文件名
00 *点击接受&结束保存合并更改并标记已解决的冲突。
合并模型
在“比较工具”报告中,您可以合并修订之间的更改。详细信息请参见合并比较报告中的Simulink模型.
合并以解决冲突后,合并工具可以为您标记已解决的冲突,也可以选择手动标记已解决的冲突。然后提交更改,如解决冲突.
提取冲突标记
什么是冲突标记?
源代码控制工具可以在未注册为二进制文件的文件中插入冲突标记(例如,文本文件)。您可以使用项目工具提取冲突标记,并比较导致冲突的文件。这个过程可以帮助您决定如何解决冲突。
谨慎
用源代码控制工具注册模型文件,以防止它们插入冲突标记和损坏模型。看到用源代码控制工具注册模型文件.如果您的模型已经包含冲突标记,则项目工具可以帮助您解决冲突,但前提是从项目中打开模型。从当前文件夹或文件资源管理器打开包含冲突标记的模型可能会失败,因为Simulink®不识别冲突标记。
冲突标记有以下形式:
< < < < < < <文件描述符(“我”)(“我”文件内容 ] ======= [" 他们的“文件内容 ] >>>>>>>[" 他们的“文件描述符)
如果试图打开包含冲突标记的标记为冲突的文件,则会打开“冲突标记已找到”对话框。按照提示提取冲突标记来修复文件。提取冲突标记之后,按照中所述解决冲突解决冲突.
若要查看冲突标记,请在“已找到冲突标记”对话框中单击加载文件.不要尝试加载模型文件,因为Simulink不能识别冲突标记。相反,点击修复文件来提取冲突标记。
默认情况下,项目只检查冲突文件中的冲突标记。您可以更改此首选项以检查所有文件或不检查文件。点击首选项在Project选项卡中更改设置。
提取冲突标记
当您打开一个冲突文件或选择观点冲突,该项目检查文件中的冲突标记,并提供提取冲突标记的方法。除非更改首选项设置,否则项目只检查冲突文件中的冲突标记。
但是,一些未标记为冲突的文件仍然可能包含冲突标记。如果您或其他用户在未删除冲突标记的情况下标记冲突已解决,然后提交文件,就会发生这种情况。如果在未标记为冲突的文件中看到冲突标记,则可以删除冲突标记。
在项目中,右键单击文件并选择源控制>将冲突标记提取到文件.
保留默认选项,在冲突文件上复制“mine”修订。离开比较选中复选框。点击提取.
像往常一样使用比较工具报告继续解决冲突。