Как настроить gitignore unity

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

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

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

ОТВЕТЫ

Ответ 1

Ниже приводится выдержка из моего личного блога.

Использование Git с 3D-играми

Обновление октябрь 2015: GitHub с тех пор выпустил плагин для Git под названием Git LFS, который непосредственно решает следующую проблему. Теперь вы можете легко и эффективно создавать версии больших двоичных файлов!

Git отлично работает с 3D-играми из коробки. Однако главное предостережение заключается в том, что управление версиями больших (> 5 МБ) медиафайлов может быть проблемой в течение длительного времени, поскольку ваша история фиксации увеличивается. Мы решили эту потенциальную проблему в наших проектах, версионируя бинарный актив только тогда, когда он считается окончательным. Наши 3D-художники используют Dropbox для работы с активами WIP, как по вышеуказанной причине, так и потому, что это намного быстрее и проще (не многие художники будут активно использовать Git!).

Читайте также:  Мышка не работает корректно

Git Workflow

Ваш рабочий процесс в Git очень важен для вас, учитывая ваш собственный опыт работы в команде и то, как вы работаете вместе. Тем не мение. Я бы настоятельно рекомендовал методологию Git Flow с соответствующим названием, как описано автором здесь.

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

Клиентское приложение Git GUI

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

Unity3D Игнорировать папки

Для получения актуальной версии Github поддерживал файл Unity.gitignore без особенностей ОС.

Настройки Unity3D

Для версий Unity 3D v4.3 и выше:

  1. (Пропустите этот шаг в v4.5 и выше) Включите параметр External в Unity → Preferences → Packages → Repository .
  2. Откройте меню » Edit и выберите » Project Settings → Editor :
    1. Переключите Version Control Mode в Visible Meta Files .
    2. Переключите Asset Serialization Mode Force Text .
  3. Сохраните сцену и проект из меню File .

Хотите перенести существующее хранилище в LFS?

Проверьте мой блог для шагов о том, как это сделать здесь.

Дополнительная конфигурация

Одно из немногих основных неудобств, связанных с использованием Git в проектах Unity3D, заключается в том, что Git не заботится о каталогах и с радостью оставит пустые каталоги после удаления из них файлов. Unity3D создаст файлы *.meta для этих каталогов и может вызвать небольшую битву между членами команды, когда Git будет продолжать добавлять и удалять эти метафайлы.

Добавьте этот хук Git после слияния в папку /.git/hooks/ для репозиториев с проектами Unity3D в них. После любого Git pull/merge, он посмотрит, какие файлы были удалены, проверит, является ли каталог, в котором он существовал, пустым, и если это так, удалите его.

Ответ 2

В Unity 4.3 вам также нужно было включить опцию External из настроек, но поскольку Unity 4.5 они отказали для этого варианта, так что полный процесс установки выглядит следующим образом:

  • Переключитесь на Visible Meta Files в Editor → Project Settings → Editor → Version Control Mode
  • Переключитесь на Force Text в Editor → Project Settings → Editor → Asset Serialization Mode
  • Сохранить сцену и проект из меню File

Также наша команда использует более расширенный .gitignore файл:

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

Более подробную информацию о сохранении Unity Project под контролем источника вы можете найти в этом сообщении.

Ответ 3

Что такое GIT?

Git — бесплатная система управления версиями с открытым исходным кодом (SCM), разработанная Линусом Торвальдсом в 2005 году (основатель ОС Linux). Он создан для того, чтобы контролировать все мелкие и крупные проекты со скоростью и эффективностью. Ведущие компании, такие как Google, Facebook, Microsoft ежедневно используют GIT.

Если вы хотите узнать больше о GIT, посмотрите этот Быстрый учебник,

Прежде всего убедитесь, что у вас настроена среда GIT. Вам нужно настроить как локальную среду, так и репозиторий GIT (я предпочитаю Github.com).

Git клиентское приложение Mac/Windows

Для GIT клиентского приложения gui я рекомендовал вам пойти с Github.com,

GitHub — это место для обмена кодами с друзьями, коллегами, одноклассниками и совершенно незнакомыми людьми. Более пяти миллионов человек используют GitHub для создания потрясающих вещей.

Настройки Unity3d

Вам необходимо выполнить следующие настройки

Переключитесь на видимые мета файлы в редакторе → Настройки проекта → Редактор → Режим управления версиями.

Включить внешнюю опцию в Unity → Настройки → Пакеты → Репозиторий

Переключитесь на Force Text в Edit → Project Settings → Editor → Serialization Mode.

Ответ 4

Чтобы добавить ко всему изложенному, также идеально использовать git lfs с Unity. Я использую это, так как это вышло, и у меня не было никаких проблем с этим.

Вы хотите добавить этот .gitattributes рядом с вашим .gitignore файлом

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

У меня также есть файлы, настроенные для использования yamlmerge, вам нужно это настроить. Вы можете прочитать об этом здесь: http://docs.unity3d.com/Manual/SmartMerge.html

Ответ 5

Я подумал, что могу опубликовать более простой .gitignore для всех, кто заинтересован:

Ответ 6

Теперь у нас есть бесшовная интеграция в единство с расширением Github to Unity. https://unity.github.com/

Новое расширение GitHub для Unity обеспечивает рабочий процесс GitHub и многое другое для Unity, обеспечивая поддержку больших файлов с помощью Git LFS и блокировку файлов.

На момент написания проекта он находится в альфа-версии, но все еще может использоваться для личных проектов.

Ответ 7

Edit -> Project Settings -> Editor

Установите управление версиями в метафайлы. Установите Asset Serialization для принудительного ввода текста.

Я думаю, что это то, что вы хотите.

Ответ 8

Основные моменты, которые следует помнить при использовании git для контроля версий исходного кода Unity- 3d:

(A) НЕ регистрируйте папку «Библиотека». Я делал эту ошибку несколько раз в прошлом и пострадал за это! Удалите ИЛИ переместите папку библиотеки перед добавлением вашего проекта/файлов в git.

(B) Используйте «Видимые метафайлы» — для новейших версий Unity — 5.3.4 и выше это происходит по умолчанию. Для некоторых более ранних версий вам нужно изменить настройки в: Edit-> Project Settings-> Version Control

(C) Используйте файл .gitignore для Unity-, чтобы удостовериться, что работоспособность поддерживается и файлы не добавляются без необходимости — если на android/tizen — добавьте правила, чтобы исключить добавление файлов APK и TPK в репозиторий. Поищите в Google файл .gitignore для единства ИЛИ еще используйте эту модель .gitignore для Unity, предоставленную GitHub: https://github.com/github/gitignore/blob/master/Unity.gitignore

(D) Убедитесь, что файл .gitignore добавлен в хранилище в качестве первого добавленного файла — потому что в прошлом я лично пропускал добавление файла .gitignore. Задумайтесь о том, почему это happened-, но сейчас я просто копирую и добавляю файл .gitignore в качестве первого шага настройки репозитория.

Итак. чтобы подготовить проект Unity для git, сделайте следующее:

(1) Перейти в папку проекта

(2) Наберите git init.

(3) Скопируйте файл .gitignore: В MacOS: cp

/Downloads/.gitignore В Windows: скопируйте c:\Users [имя_руза_пользователя]\Downloads.gitignore.

(4) git add.gitignore

Надеюсь, это поможет. всего наилучшего!

Ответ 9

Я бы предпочел, чтобы вы использовали BitBucket, поскольку он не является общедоступным и есть официальное руководство Unity по Bitbucket.

надеюсь это поможет.

Ответ 10

Только папки Активы и ProjectSettings должны находиться под управлением git.

Вы можете сделать gitignore таким образом.

Ответ 11

Вы можете использовать Github для Unity, Расширение Unity, которое вносит рабочий процесс git в пользовательский интерфейс Unity.

Github для Unity только что выпустил версию 1.0 расширения.

  • Он использует git-lfs (поддержка больших файлов git) для правильного хранения больших ресурсов.
  • Блокировка файлов, чтобы никто больше не перезаписывал ваши активы
  • Push и Pull в/из любого удаленного хранилища
  • Вы также можете скачать его в Unity Asset Store: https://assetstore.unity.com/packages/tools/version-control/github-for-unity-118069

Ответ 12

Unity также предоставляет собственный контроль над версиями версий. до единства5 это был единый сервер, но теперь он обесценился. и запускает новую систему управления SVN, называемую объединением union.but, основная проблема, использующая единство и любой SVN, является фиксацией и слиянием сцены. но Non of svn дают нам способ решить такие конфликты или слияние сцены. так что зависеть от вас, с которым SVN вы знакомы. Я использую SmartSVN-инструмент на Mac. и черепаха на окнах.

Ответ 13

Bitbucket также является очень удобным git исходным агентом для Unity. С помощью программного обеспечения «Исходное дерево». вы можете направить весь свой код на сервер в команде.

Ответ 14

Просто добавьте в подзаголовок Gitignore. Рекомендуемый способ игнорирует только библиотеку и Temp, если это ее корень из вашего проекта git. если вы похожи на меня и иногда нуждаетесь в проекте единства, чтобы быть частью репо, а не всем репо, правильные строки в gitignore были бы:

Источник

Освоение GitHub на примере Unity проекта. Часть 1

Установка необходимого

1) Вводим в поисковике Google: “github desktop”. Нажимаем на первую ссылку (https://desktop.github.com/).

2) На главной странице сайта нажимаем на кнопку “Download for Windows”.

3) Устанавливаем программу. Должна появиться на рабочем столе следующая иконка:

Иконка программы GitHub Desktop

4) Вводим в поисковике Google: “github.com”. Нажимаем на первую ссылку (https://github.com/).

5) Регистрируемся на сайте.

Регистрация на сайте

1) В правом углу сайта нажимаем на кнопку “Sign up”.

2) Далее вводим свой логин (имя, которое будет отображаться на сайте), email, пароль и решаем легкую загадку. В самом конце нажимаем на зеленую кнопку “Select in plan”.

3) На следующем шаге выбираем бесплатный аккаунт. Нажимаем на кнопку “Choose Free”.

4) Следующий шаг заполнять не обязательно (он нужен для статистики сайта). Спускаемся вниз и нажимаем на кнопку “Skip this step”.

5) Когда вы увидите сообщение как на скриншоте ниже, то вам нужно перейти в свою почту и подтвердить свой email.

Поздравляю!! Вы успешно зарегистрировались на сайте GitHub.

Отправка проекта на сайт и получение ссылки

1) С главной страницы сайта GitHub переходим в профиль:

2) Переходим во вкладку «Repositories»:

3) Нажимаем на кнопку “New”. Так мы создадим новый репозиторий (хранилище для нашего проекта):

4) Вводим имя репозитория (имя репозитория – это название вашего проекта). Делаем его обязательно публичным (так другие люди смогут посмотреть на ваши проекты), нажимаем галочку в пункте создание файла «README» (данный файл необходим для описания нашего проекта), а также в пункте “Add .gitignore” вводим слово “Unity” и выбираем данный пункт (файл .gitignore позволит заблокировать отправку на сайт ненужных файлов в проекте). Нажимаем на “Create repository”:

5) В итоге мы должны попасть на экран, который отображен на скриншоте ниже.

6) Заходим в приложение «GitHub Desktop». Нас приветствует основной экран приложения. Чтобы привязать свой аккаунт к приложению нажимаем на пункт “Sign in to GitHub.com”.

7) Вводим свои данные (которые мы вводили при регистрации на сайте). Нажимаем на кнопку “Sign in”.

8) На следующем шаге нажимаем на кнопку “Continue” и на последнем экране на кнопку “Finish”.

9) Следующий экран предлагает нам начать работу. В разделе «Your repositories» отображены созданные репозитории (в данном случае будет отображен всего один репозиторий). Сейчас нам нужно клонировать репозиторий с сайта на наш ПК (сделать репозиторий локальным). Нажимаем по кнопке с изображением книги (на скриншоте указывает стрелка).

10) Дополнительно. Если у вас будет несколько репозиториев и вы захотите клонировать еще один, то в самом приложении это можно сделать через меню “File -> Clone repository…”.

11) Переходим во вкладку с надписью “GitHub.com”. Выбираем репозиторий, который хотим клонировать. Далее выбираем путь (обратите внимание, что по умолчанию локальный репозиторий будет сохранятся в папке “Documents”), если хотите поменять путь нажмите на кнопку “Choose…” (лучше выбрать месторасположение локального репозитория на рабочем столе). Последним пунктом нажимаем на кнопку “Clone”.

12) В итоге мы попадем на окно, отображенное на скриншоте ниже.

13) Найдем папку локального репозитория (в документах или на рабочем столе). Папка должна называться также, как и репозиторий, который был создан на сайте. Предположим, что локальный репозиторий называется “FunnyFox”.

14) Создаем в Unity новый проект. Нажимаем на кнопку “Create project”. Ждем, когда откроется пустой проект. Обратите внимание, что в поле Location указано слово Desktop (то есть сохранение на рабочий стол).

15) Выходим из Unity. Проверяем рабочий стол и находим папку с названием нашего проекта (внутри будет много других папок: “Assets”, “Library” и т.д.). В данном случае мой проект и папка называется “New Unity Project”.

16) Переходим в папку пустого проекта (в моем случае “New Unity Project”). Нажимаем сочетание клавиш “Ctrl + A”, чтобы выделить все файлы в папке. Далее нажимаем на сочетание клавиш “Ctrl + C”, чтобы скопировать все файлы проекта.

17) Переходим в папку локального репозитория. Нажимаем на сочетание клавиш “Ctrl + V”, чтобы вставить все файлы проекта в локальный репозиторий.

18) При добавлении (изменении) проекта в нашей локальной репозитории в «GitHub Desktop» будут заметны изменения (элементы, которые мы добавили отмечаются зеленым плюсом, а что мы удалили – красным минусом). Вписываем в строку «Summary» описание сохранения проекта – это называется “commit”. Нажимаем на синюю кнопку “Commit to master”:

19) Мы сохранили изменения, но теперь их необходимо отправить на сайт, где их можно было бы просмотреть. Для этого в «GitHub Desktop» нажимаем на «Push origin». И ждем отправки нашего проекта на сервер:

20) Обновим сайт GitHub, и мы увидим подобный вид экрана (если мы хотим добавить описание проекта, то нажимаем на кнопку, указанную красной стрелкой). Файл успешно загружен на сайт. Поздравляю вас.

21) Теперь для работы над своим проектом мы переходим в Unity, нажимаем на кнопку “ADD” и выбираем папку локального репозиторий. Откроется пустой проект Unity, в котором вы будете создавать свою игру. Папку под названием “New Unity Project” можно удалить.

22) Как другим людям найти ваш Git? По ссылке на нее. Нажимаете на “Clone or download”, копируете ссылку.

Источник

Оцените статью