Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / [Unity]:Resolve конфликтов при мерже в системах контроля версий

[Unity]:Resolve конфликтов при мерже в системах контроля версий

GladiatorПостоялецwww13 фев. 201812:25#0
Привет.

Интересует очень как работать командой в Юнити. Когда мержишь префабы и сцены, то внутри находятся всякие айдишники и прочая инфа, по которой хер поймёшь что это. Как вы с этим справляетесь ?

Спасибо.

foxesПостоялецwww18 фев. 201821:04#1
Если забыть про unity то ресурсы в некоторых организация кладут отдельно, не в репозиторию. Второй вариант использовать скрипт конвертер который превращает бинарники в текст, например xml. Для сцен это тоже что и разработка под ogre. Вот на счет остального не знаю.

можно также для ресурсов сделать отдельную ветку, так проще будет убивать мержи, не путая их с исходным кодом.

seamanПостоялецwww18 фев. 201822:00#2
Мета файлы в Юнити можно сделать текстовыми. Более того и многие другие тоже, например anim.
А вообще как работать с Гит в Юнити есть уроки...
arte_de_mortПостоялецwww18 фев. 201822:08#3
Префабы и сцены не смержить, только заменять, поэтому не работайте с одними и теми же ассетами одновременно.
И да, сцены - текстовые файлы, которые иногда могут даже сами смержиться, но не стоит этому доверять - никогда не поймёшь, какую часть работы потеряли (а что-то да потеряется).
GladiatorПостоялецwww19 фев. 201821:04#4
Да я говорил именно о текстовых версиях сцен. Просто понять что внутри достаточно сложно, т.к. большинство информации представляет собой совокупность guid'ов и других идентификаторов. Мне просто интересно, можно ли было бы сделать какой-нить визуализатор того, что мержится.. Хотя бы для того чтобы понять. Недавно была ситуация, когда я слишком надолго задержался в отдельной ветке, и при мерже обратно в основную, возникли конфликты при слиянии сцен. Понять что конкретно конфликтовало было сложно. Вот.
arte_de_mortПостоялецwww19 фев. 201822:59#5
Gladiator
Я пока вижу только одно решение для предупреждения таких конфликтов. Старайтесь максимально пользоваться префабами. Например, дизайнер по интерфейсам может сидеть накручивать интерфейсы в то же сцене, где работает левел-дизайнер, и это сильно поможет.
Alex_HellПостоялецwww19 фев. 201823:06#6
Префабы и сцены не смержить, только заменять

не правда. но есть проблемы. обычный текстовый мерж может напортить даже если в yaml перевести все .prefab и .unity файлы.
Для решения сделали даже UnityYamlMerge тулзу - я пробовал, работает, можно настроить кастомную тулзу мержа в git/hg по рашимрению файла, но не оч удобно и багоопасно что ктото замержит без тулзы.
поэтому не работайте с одними и теми же ассетами одновременно.

но практически правильно - лучше не мержить

Правка: 19 фев. 2018 23:08

Alex_HellПостоялецwww19 фев. 201823:10#7
Например, дизайнер по интерфейсам может сидеть накручивать интерфейсы в то же сцене, где работает левел-дизайнер, и это сильно поможет.

а без тулзы править .unity сцену несколькими людьми, не стоит, иногда норм, а иногда портится.
поэтому надо смотреть какие файлы правились.
и да вывод тоже верный - лучше в префабы отдельные выносить для каждого человека свой
arte_de_mortПостоялецwww19 фев. 201823:27#8
Alex_Hell
> не правда. но есть проблемы
Я же писал, что мержатся, но это всё ломает, поэтому "не смержить" :)

> и да вывод тоже верный - лучше в префабы отдельные выносить для каждого человека свой
Тем не менее это не всегда возможно, так что ещё нужно правильно распределять задачи по возможности, чтобы не сидеть в одной сцене.

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр