Перейти к основному содержимому

Конфликты слияния

Конфликты слияния в 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.

  1. В dbt Cloud IDE вы можете редактировать правую часть конфликтного файла, выбрать, какие строки кода вы хотите сохранить, и удалить остальные.
    • Примечание: Редактор в левом виде доступен только для чтения, и вы не можете вносить изменения.
  2. Удалите специальные флаги или маркеры конфликта <<<<<<<, =======, >>>>>>>, которые выделяют конфликт слияния, и также выберите, какие строки кода сохранить.
  3. Если у вас в файле более одного конфликта слияния, прокрутите вниз до следующего набора маркеров конфликта и повторите шаги один и два, чтобы разрешить ваш конфликт слияния.
  4. Нажмите Save. Вы заметите, что выделение строк исчезнет и вернется к обычному фону. Это означает, что вы успешно разрешили конфликт.
  5. Повторите этот процесс для каждого файла, в котором есть конфликт слияния.
Выбор строк кода для сохраненияВыбор строк кода для сохранения
Редактирование конфликтных файлов
  • Если вы откроете конфликтный файл в разделе Changes, имя файла будет отображаться как model.sql (last commit) и будет полностью доступно только для чтения и не может быть отредактировано.
  • Если вы откроете конфликтный файл в File Explorer, вы можете редактировать файл в правом виде.

Фиксация изменений

Когда вы разрешили все конфликты слияния, последним шагом будет фиксация внесенных вами изменений.

  1. Нажмите на панель действий git Commit and resolve.
  2. Всплывающее окно Commit Changes подтвердит, что все конфликты были разрешены. Напишите ваше сообщение фиксации и нажмите Commit Changes.
  3. dbt Cloud IDE вернется в нормальное состояние, и вы сможете продолжить разработку!
Конфликт был разрешенКонфликт был разрешен
Всплывающее окно Commit Changes для фиксации ваших измененийВсплывающее окно Commit Changes для фиксации ваших изменений
0