Разрешите конфликты с Simulink слияние с тремя путями

Этот пример показывает вам, как использовать Simulink® Слияние С тремя путями, чтобы разрешить конфликты в моделях Simulink. Можно просмотреть и слить различия в модели Simulink в получившемся отчете.

Настройте Проект В качестве примера

Создайте и откройте рабочую копию проекта в качестве примера. MATLAB® копирует файлы в папку в качестве примера так, чтобы можно было отредактировать их.

slcomparisons.examples.simulinkThreeWayMerge;
Building with 'MinGW64 Compiler (C)'.
MEX completed successfully.

Изменения модели Simulink и конфликты

Проект в качестве примера находится под системой контроля версий Git™. Вы пытаетесь объединить изменения другого пользователя на основной ветви Git в ваш TaskBranch. Эта операция приводит к конфликтам.

Чтобы разрешить конфликты с помощью инструмента Three-Way Model Merge, этот пример показывает, как исследовать локальный файл (Мой), конфликтная версия (Их) и общий предок этих двух файлов (Основа).

Их: Другой пользователь обновил подсистему экспериментальной модели, чтобы использовать явный блок усиления для амплитуды входных команд пилота. Он также обновил время остановки Симуляции.

Мой: Вы изменили некоторые параметры конфигурации для подсистемы экспериментальной модели.

Инструмент Merge автоматически сливает не конфликтовавшие различия. Выполните шаги ниже, чтобы рассмотреть выбор автослияния, редактирование при желании, и решить, как разрешить любые остающиеся различия. После решения конфликтов передайте разрешенную модель системе контроля версий.

Откройте Simulink слияние с тремя путями

Ищите противоречивые файлы в представлении файлов проекта. slproject_f14 файл показывает красный предупреждающий символ в столбце Git, который указывает на конфликт.

1. Чтобы видеть подробный отчет о конфликтах, щелкните правой кнопкой по slproject_f14 файл и выбирает View Conflicts.

Просмотрите изменения

Инструмент Three-Way Merge показывает изменения в двух проектах Simulink, которые вызвали этот конфликт файла.

  • Их, Основной и деревья Шахты показывают различия между конфликтной версией, вашей версией и основным предком этих файлов.

  • Целевое дерево показывает файл, что вы объедините изменения в. Это - временный файл и будет скопировано в проект, когда вы принимаете решение принять результат слияния.

2. Исследуйте различие путем нажатия на строку в одном из деревьев. Инструмент слияния отображает изменение для каждой модели в редакторе, например, диалоговое окно Simulink Editor или Configuration Parameters, справа от окна Three-Way Merge.

3. На вкладке Merge, в разделе Highlight, выбирают модели, чтобы отобразиться с кнопками Top Model или Bottom Model.

Рассмотрите автоматические слияния

Инструмент слияния автоматически сливает самые непротиворечивые различия.

4. Исследуйте первое изменение наверху Их дерево путем нажатия на строку под названием PilotGain. Этот узел был объединен автоматически, и можно настроить автоматический выбор с помощью кнопок в Целевом дереве. Если вы хотите, рассматриваете другой автоматический выбор слияния.

Решение конфликтов

Существует два типа различия, которые требуют пользовательского действия.

Конфликт: инструмент слияния не может автоматически разрешить эти различия, и необходимо выбрать, какой проект вы хотите в конечном файле. В Целевой панели ищите предупреждения в столбце конфликта.

Ручное слияние: Некоторые различия должны быть слиты вручную в Simulink или проигнорированы. В Целевой панели эти элементы обозначаются значком карандаша в столбце конфликта.

5. Выберите StickCommand_rad строка. Это различие требует ручного слияния, обозначенного значком карандаша в столбце конфликта.

Разрешите различие в изменении линии в targetFile путем переименования подключенного параллельно в выход блока под названием Pilot в редакторе Simulink от StickCommand_rad к Pilot Output.

После решения различия сохраняют изменения в Редакторе и отмечают разрешенное использование изменения ручного управления слиянием в столбце Конфликтов.

Отчет слияния не обновляется, чтобы показать любые изменения, которые вы вносите в Редакторе.

6. Используйте Следующую кнопку панели инструментов, чтобы рассмотреть и разрешить изменения, пока вы не достигнете конфликта. Этот StopTime параметр был изменен обоими пользователями и конфликтуется. Разрешите конфликт с помощью изменения Шахты. Нажмите кнопку рядом с StopTime в столбце шахты в Целевой панели.

Измените фильтры

По умолчанию отчет скрывает все нефункциональные изменения, такие как то, чтобы менять местоположение элементов.

7. На вкладке Merge, в разделе Filter, включают и выключают фильтры, чтобы исследовать различные изменения между этими проектами.

Примите изменения

8. После того, как вы разрешаете все отфильтрованные и неотфильтрованные изменения, нажимаете кнопку Принять & закрываетесь. Инструмент слияния закрывает отчет и модели, принимает результат слияния в targetFile, и отмечает конфликт, как разрешено в инструменте системы контроля версий. Можно теперь передать изменения в системе контроля версий и продолжить работу.

Дополнительная информация

Сравните модели Simulink

Система контроля версий в проектах

Решение конфликтов

Сравните версии

Настройка внешней системы контроля версий, чтобы использовать MATLAB для Diff и слияния

Связанные примеры

Сравните и объедините модели Simulink

Сравните и объедините модели Simulink, содержащие Stateflow