Страницы

Поиск по вопросам

воскресенье, 1 декабря 2019 г.

Как использовать Git для контроля версий в Unity3D?

#git #unity3d


Каким образом наиболее просто использовать Git при работе с Unity, учитывая, в частности,
бинарный характер Unity-проектов? Опишите, пожалуйста, рабочий процесс, укажите, что
стоит включить в .gitignore, какие настройки выбирать в Unity и/или проекте и что ещё
нужно при этом учесть?

Примечание: я понимаю, что разработчики Unity рекомендуют пользоваться Asset Server,
но, по ряду причин, я бы хотел использовать Git, то есть использовать Asset Server
– для меня не вариант.

Перевод вопроса How to use Git for Unity source control? @PressingOnAlways.
    


Ответы

Ответ 1



Рекомендации ниже являются выдержкой из личного блога. Использование Git для 3D-игр Примечание: Не так давно GitHub выпустил плагин для Git под названием Git LFS, позволяющий решить описанную проблему. Теперь вы можете легко и эффективно осуществлять контроль версий для объемных бинарных файлов! Git прекрасно работает с 3D-играми, за исключением одного: сохранение версий больших (>5 MB) медиафайлов на протяжении длительного времени (при обновлении архивов версий) может быть проблематичным. Эту проблему мы решили в наших проектах фиксацией только тех бинарных файлов, которые считаются окончательными. Наши 3D-художники используют Dropbox для работы с WIP — и по вышеуказанной причине, и потому, что это намного быстрее и проще (не многие художники горят желанием работать с Git!). Процедура работы с Git Конкретная процедура работы с Git в большей степени зависит от ваших собственных предпочтений, а также опыта и традиций вашей командной работы. Тем не менее, я бы настоятельно рекомендовал методологию с «говорящим» названием «Git Flow» в оригинальной версии автора. Я не буду чересчур углубляться в суть методологии, поскольку автор прекрасно её описал – к тому же, без лишней «воды», поэтому в ней нетрудно разобраться. Я уже какое-то время использую этот метод для своей команды и на данный момент это лучшая методология из всех нами испробованных. Клиентское приложение Git GUI Это, на самом деле, из области личных предпочтений, поскольку в том, что касается графического интерфейса для Git, возможность выбора есть, включая выбор того, использовать ли графический интерфейс вообще. Спешу предложить бесплатное приложение SourceTree, поскольку оно отлично сочетается с расширением Git Flow. В руководстве по SourceTree вы можете прочесть о реализации методологии Git Flow в рамках этого приложения. Что игнорировать в Unity3D при работе с Git # =============== # # Unity generated # # =============== # Temp/ Library/ # ===================================== # # Visual Studio / MonoDevelop generated # # ===================================== # ExportedObj/ obj/ *.svd *.userprefs /*.csproj *.pidb *.suo /*.sln *.user *.unityproj *.booproj # ============ # # OS generated # # ============ # .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db Настройки Unity3D для работы с Git Для версии Unity3D v4.3 и выше: (Для v4.5 и выше пропустите этот шаг) Выберите параметр External в Unity → Preferences → Packages → Repository. Используйте Visible Meta Files в Edit → Project Settings → Editor → Version Control Mode. Используйте Force Text в Edit → Project Settings → Editor → Asset Serialization Mode. Сохраните сцену и проект из меню File. Дополнительно Один из отрицательных аспектов использования Unity3D и Git в том, что Git не заботится о пустых папках (а Unity создает для них мета–файлы). Как результат, могут возникнуть не нужные конфликты. Для решения, добавьте специальный обработчик в папку /.git/hooks/ репозитория проекта. Благодаря обработчику после каждого обновления проекта (pull/merge) Git будет проверять удаленные файлы, а также пустые папки. Перевод ответа How to use Git for Unity source control? @S.Richmond.

Комментариев нет:

Отправить комментарий