exponenta event banner

Разрешение конфликтов

Разрешение конфликтов

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

  1. Поиск конфликтующих файлов на вкладке Изменено (количество файлов).

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

    Совет

    Используйте List для просмотра файлов без необходимости развертывания папок.

  2. Проверьте столбец состояния системы управления версиями (Git или SVN) на наличие файлов с красным символом предупреждения, указывающим на конфликт.

  3. Щелкните правой кнопкой мыши конфликтующий файл и выберите Просмотр конфликтов для сравнения версий.

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

    • Для SVN сравнение показывает различия между файлом и версией конфликтующего файла.

    • Для Git™ сравнение показывает различия между файлом в ветви и ветвью, в которую требуется выполнить слияние.

    • Файлы моделей см. в разделе Объединение моделей Simulink из отчета о сравнении.

  5. Используйте отчет сравнения для определения способа разрешения конфликта.

    Для разрешения конфликтов можно:

    • Используйте отчет для объединения изменений между редакциями.

    • Решите перезаписать один набор изменений другим.

    • Внесение изменений в проект вручную путем редактирования файлов, изменения меток или описания проекта.

    Дополнительные сведения об использовании инструмента сравнения для объединения изменений между редакциями см. в разделах Объединение текстовых файлов и Объединение моделей.

  6. После устранения изменений и сохранения версии в изолированной программной среде в проекте щелкните файл правой кнопкой мыши и выберите «Система управления версиями» > «Пометить конфликт как разрешенный». С помощью инструмента объединения можно пометить конфликт как разрешенный или вручную отметить конфликт, разрешенный в проекте.

    Для Git статус Ветвь на панели Git изменяется с MERGING кому SAFE.

  7. Выберите вкладку Modified (количество файлов) для проверки изменений. На вкладке Проект нажмите кнопку Зафиксировать.

Объединить текстовые файлы

При сравнении текстовых файлов можно объединить изменения из одного файла в другой. Объединение изменений полезно при разрешении конфликтов между различными версиями файлов.

Маркеры конфликтов отображаются в отчете о сравнении текстов следующим образом:

<<<<<<< .mine
Если отчет о сравнении содержит маркеры конфликтов, извлеките их перед объединением, как описано в разделе Извлечение маркеров конфликтов.

Совет

Объединить можно только слева направо. При сравнении с другой версией в системе управления версиями правильным файлом является версия в изолированной программной среде. Левый файл является либо временной копией предыдущей версии, либо другой версией, вызывающей конфликт (например, filename_theirs). Проверьте путь к файлу слева и справа в верхней части отчета о сравнении. Объединение различий из левого (временная копия) в правый файл для разрешения конфликтов.

  1. В отчете Инструмент сравнения (Comparison Tool) выберите разницу в отчете и щелкните Объединить (Merge). Выбранное различие копируется из левого файла в правый.

    Объединенные различия отображают серую подсветку строк и зеленую стрелку объединения.

    Имя объединенного файла в верхней части отчета отображает флаг грязности (filename.m*), чтобы показать, что файл содержит несохраненные изменения.

  2. Нажмите «Сохранить объединенный файл», чтобы сохранить файл справа. Проверьте путь к нужному файлу в отчете о сравнении. (Для сохранения в другом файле выберите «Сохранить объединенный файл» > «Сохранить объединенный файл как»). Чтобы разрешить конфликты, сохраните объединенный файл поверх конфликтующего файла.

  3. Если требуется проверить файлы в редакторе, щелкните ссылки на номер строки в отчете.

    Примечание

    При внесении каких-либо дополнительных изменений в редактор отчет о сравнении не обновляется для отражения изменений, и ссылки на отчет могут стать неверными.

  4. После объединения для разрешения конфликтов отметьте конфликт как разрешенный и зафиксируйте изменения, как описано в разделе Разрешение конфликтов.

Объединить модели

В отчете Инструмент сравнения (Comparison Tool) можно объединить изменения между редакциями. Дополнительные сведения см. в разделе Объединение моделей Simulink из отчета о сравнении.

После объединения для разрешения конфликтов инструмент слияния может пометить конфликт как разрешенный для вас или можно выбрать ручную пометку конфликта как разрешенный. Затем зафиксируйте изменения, как описано в разделе Разрешение конфликтов.

Извлечь маркеры конфликтов

Что такое маркеры конфликтов?

Средства управления версиями могут вставлять маркеры конфликтов в файлы, которые не зарегистрированы как двоичные (например, текстовые файлы). Для извлечения маркеров конфликтов и сравнения файлов, вызывающих конфликт, можно использовать инструменты проекта. Этот процесс помогает решить, как разрешить конфликт.

Внимание

Зарегистрируйте файлы модели с помощью средств управления версиями, чтобы предотвратить их вставку маркеров конфликтов и повреждение моделей. См. раздел Регистрация файлов модели с помощью средств управления версиями. Если модель уже содержит маркеры конфликтов, инструменты проекта помогут разрешить конфликт, но только при открытии модели из проекта. Не удается открыть модель, содержащую маркеры конфликтов из текущей папки или из проводника файлов, поскольку Simulink ® не распознает маркеры конфликтов.

Маркеры конфликтов имеют следующую форму:

<<<<<<<["mine" file descriptor]
["mine" file content]
=======
["theirs" file content]
>>>>>>>["theirs" file descriptor]

При попытке открыть файл, помеченный как конфликтующий и содержащий маркеры конфликтов, откроется диалоговое окно Найденные маркеры конфликтов (Conflict Markers Found). Следуйте инструкциям, чтобы исправить файл, извлекая маркеры конфликтов. После извлечения маркеров конфликтов разрешите конфликты, как описано в разделе Разрешение конфликтов.

Чтобы просмотреть маркеры конфликтов, в диалоговом окне «Найденные маркеры конфликтов» нажмите кнопку «Загрузить файл». Не пытайтесь загрузить файлы модели, поскольку Simulink не распознает маркеры конфликтов. Вместо этого щелкните Исправить файл (Fix File), чтобы извлечь маркеры конфликтов.

По умолчанию проект проверяет только конфликтующие файлы на наличие маркеров конфликтов. Эту настройку можно изменить для проверки всех файлов или отсутствия файлов. Щелкните Настройки (Preferences) на вкладке Проект (Project), чтобы изменить настройку.

Извлечь маркеры конфликтов

При открытии конфликтующего файла или выборе пункта Показать конфликты (View Conflicts) проект проверяет файлы на наличие маркеров конфликтов и предлагает извлечь маркеры конфликтов. Проект проверяет только конфликтующие файлы на наличие маркеров конфликтов, если не изменить настройки.

Однако некоторые файлы, не помеченные как конфликтующие, могут по-прежнему содержать маркеры конфликтов. Это может произойти, если вы или другой пользователь пометили конфликт как разрешенный без удаления маркеров конфликта, а затем зафиксировали файл. Если в файле, не помеченном как конфликтующий, отображаются маркеры конфликтов, их можно удалить.

  1. В проекте щелкните файл правой кнопкой мыши и выберите «Система управления версиями» > «Извлечь маркеры конфликтов в файл».

  2. Оставьте параметр по умолчанию, чтобы скопировать версию «mine» в конфликтующий файл. Оставьте флажок Сравнить (Compare) установленным. Щелкните Извлечь (Extract).

  3. Чтобы продолжить разрешение конфликта, используйте обычный отчет Инструмент сравнения (Comparison Tool).

Связанные темы