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




