Конфликты слияния
Конфликты слияния в Studio IDE часто возникают, когда несколько пользователей одновременно вносят правки в один и тот же участок одного и того же файла. В этом случае Git становится сложно определить, какие изменения нужно включить в итоговое слияние.
Процесс разрешения конфликтов слияния позволяет пользователям выбрать, какие строки кода нужно сохранить и зафиксировать (commit). В этом документе показано, как разрешать конфликты слияния в Studio IDE.
Определение конфликтов слияния
С конфликтом слияния можно столкнуться в двух случаях:
- При подтягивании изменений из основной ветки, когда кто-то другой уже смержил конфликтующее изменение.
- При коммите ваших изменений в ту же ветку, когда другой пользователь уже успел закоммитить свои изменения раньше.
Способ разрешения конфликта в обоих сценариях будет абсолютно одинаковым.
Например, если вы и ваш коллега внесли изменения в один и тот же файл и закоммитили их, вы столкнетесь с конфликтом слияния сразу после нажатия Commit and sync.
Studio IDE отобразит следующее:
- Commit and resolve в git action bar в разделе Version Control вместо Commit — это означает, что Cloud Studio IDE обнаружил конфликты, которые необходимо разрешить.
- Редактор с разделением на две части — левая часть содержит ваши изменения и доступна только для чтения. Правая часть содержит дополнительные изменения, позволяет редактирование и помечает конфликт специальными маркерами:
<<<<<< HEAD
your current code
======
conflicting code
>>>>>> (some branch identifier)
- Файл и путь к нему, подсвеченные красным цветом в File Catalog, с иконкой предупреждения, указывающей на необходимость разрешения конфликта.
- Имя файла, выделенное красным цветом в разделе Changes, также с иконкой предупреждения.
- Если вы попытаетесь выполнить commit, не разрешив конфликт, Studio IDE покажет всплывающее окно со списком файлов, которые требуется разрешить.
Разрешение конфликтов слияния
Вы можете легко разрешать конфликты слияния, связанные с конкурирующими изменениями строк, прямо в Cloud Studio IDE.
- В Studio IDE вы можете редактировать правую часть конфликтующего файла, выбрать строки кода, которые нужно сохранить, и удалить остальные.
- Примечание: левая часть редактора доступна только для чтения, и вносить в неё изменения нельзя.
- Удалите специальные флаги или маркеры конфликта
<<<<<<<,=======,>>>>>>>, которые обозначают конфликт слияния, а также выберите строки кода, которые необходимо сохранить. - Если в файле больше одного конфликта слияния, прокрутите вниз до следующего набора маркеров конфликта и повторите шаги один и два, чтобы разрешить конфликт.
- Нажмите Save. Вы заметите, что подсветка строк исчезнет и фон станет обычным. Это означает, что конфликт был успешно разрешен.
- Повторите этот процесс для каждого файла, в котором есть конфликт слияния.
- Если вы откроете файл с конфликтом из раздела Changes, имя файла будет отображаться примерно как
model.sql (last commit), и файл будет полностью доступен только для чтения, без возможности редактирования. - Если вы откроете файл с конфликтом из File Catalog, вы сможете редактировать файл в правой части редактора.
Коммит изменений
После того как все конфликты слияния будут разрешены, последним шагом станет коммит внесенных изменений.
- Нажмите в git action bar кнопку Commit and resolve.
- Во всплывающем окне Commit Changes будет подтверждено, что все конфликты были разрешены. Введите сообщение коммита и нажмите Commit Changes.
- Studio IDE вернется в обычное состояние, и вы сможете продолжить разработку!




