User Manual

Слияние и разрешение конфликтов

Слияние - это процесс объединения работы, выполненной в одной ветке, с работой, выполненной в другой ветке. Слияние является естественной частью рабочего процесса на основе ветвей, описанного в документации по ветвям.

Слияние двух веток

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

Важно отметить, что когда вы выполняете слияние в PlayCanvas, вы на самом деле не объединяете две ветки. Вы, фактически, объединяете две контрольные точки. Это актуально, потому что у вас могут быть изменения в одной из двух веток, которые более новые, чем последняя контрольная точка. В случае ветки, в которую вы объединяете, PlayCanvas автоматически создаст контрольную точку, чтобы гарантировать, что вы не потеряете никаких изменений.

Примеры слияний

Слияние контрольных точек Изменения Y и Z не включены в результат слияния C и теряются.

Слияние контрольных точек По умолчанию PlayCanvas создает новую контрольную точку в целевой ветке слияния, поэтому изменения Y включены

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

Начало слияния

Начать слияние

Чтобы начать слияние, переключите текущую ветку на ветку, в которую вы хотите объединить. Затем выберите ветку, из которой вы хотите объединить, и выберите "Слить с текущей веткой" из выпадающего меню ветки.

Диалог слияния

У вас есть несколько вариантов перед началом слияния.

В ветке "Слияние из" вы можете:

В ветке "Слияние в" вы можете:

Автоматическое слияние

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

Разрешение конфликтов

Иногда две ветки имеют конфликтующие изменения, которые невозможно автоматически объединить. Пример конфликтующего изменения - если обе ветки изменили положение одной и той же сущности. Системе невозможно сделать выбор между двумя конечными позициями.

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

Менеджер конфликтов

Менеджер конфликтов

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

Разрешенные конфликты

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

This site is translated by the community. If you want to get involved visit this page