Разрешение конфликтов системы контроля версий

Исследование и решение конфликтов

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

Чтобы разрешить конфликты, вы можете:

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

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

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

Для получения дополнительной информации при использовании Инструмента Сравнения, чтобы объединить изменения, см. Текстовые файлы Слияния.

После того, как вы удовлетворены файлом, который отмечен конфликтовавший, можно отметить разрешенный конфликт и фиксировать файл.

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

  1. Ищите противоречивые файлы в Браузере текущей папки.

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

  3. Щелкните правой кнопкой по противоречивому файлу и выберите Source Control> View Conflicts, чтобы сравнить версии.

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

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

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

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

    Можно использовать Инструмент Сравнения, чтобы объединить изменения между версиями, как описано в Текстовых файлах Слияния.

  6. Когда вы разрешите изменения и захотите фиксировать версию в своей песочнице в Браузере текущей папки, щелкните правой кнопкой по файлу и выберите Source Control> Mark Conflict Resolved.

    С Git состояние Branch в диалоговом окне Source Control Details изменяется от MERGING к SAFE.

  7. Фиксируйте модифицированные файлы.

Слияние текстовых файлов

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

Если вы видите, что маркеры конфликта в текстовом сравнении сообщают как это:

<<<<<<< .mine
затем извлеките маркеры конфликта перед слиянием, как описано в Выделении маркеров конфликтов.

Совет

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

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

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

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

  2. Нажмите Save Merged File, чтобы сохранить файл в вашей песочнице. Чтобы разрешить конфликты, сохраните объединенный файл по противоречивому файлу.

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

    Примечание

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

  4. Когда вы разрешили, что изменения отмечают их как разрешенный конфликт. Щелкните правой кнопкой по файлу по Браузеру текущей папки и выберите Source Control> Mark Conflict Resolved.

Выделение маркеров конфликтов

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

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

Внимание

Регистровые файлы с инструментами системы контроля версий, чтобы препятствовать тому, чтобы они вставили маркеры конфликта и повредили файлы. Смотрите Регистрируют Двоичные Файлы с SVN или Регистрируют Двоичные Файлы с Git. Если ваши файлы уже содержат маркеры конфликта, средства MATLAB могут помочь вам разрешить конфликт.

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

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

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

Чтобы просмотреть маркеры конфликта, в диалоговом окне Conflict Markers Found, нажимают Load File. Не пытайтесь загрузить файлы, потому что MATLAB не распознает маркеры конфликта. Вместо этого нажмите Fix File, чтобы извлечь маркеры конфликта.

MATLAB проверяет только конфликтовавшие файлы на маркеры конфликта.

Выделение маркеров конфликтов

Когда вы открываете противоречивый файл или выбираете View Conflicts, MATLAB проверяет файлы на маркеры конфликта и предложения извлечь маркеры конфликта. MATLAB проверяет только конфликтовавшие файлы на маркеры конфликта.

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

  1. В Браузере текущей папки щелкните правой кнопкой по файлу и выберите Source Control> Extract Conflict Markers to File.

  2. В диалоговом окне Extract Conflict Markers to File оставьте опцию по умолчанию, чтобы скопировать “мой” версия файла по противоречивому файлу. Оставьте флажок Compare extracted files выбранным. Нажмите Extract.

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