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