Как подготовить проект Unity для git?

Каковы шаги, необходимые для подготовки проекта Unity для передачи в репозиторий git, например. GitHub? Я не хочу хранить ненужные файлы (особенно временные файлы и избегать бинарных форматов как можно больше).

Ответ 1

В редакторе Unity откройте свой проект и:

  • Включить Внешняя опция в Unity Настройки Пакеты Репозиторий ( только если Unity ver < 4.5)
  • Переключитесь на Видимые метафайлы в Изменить Настройки проекта Редактор Режим управления версиями
  • Переключитесь на Силовой текст в Изменить Настройки проекта Редактор Режим Serialization Asset
  • Сохранить сцену и проект из меню Файл.
  • Закройте Unity, а затем вы можете удалить каталог Библиотека и Temp в каталоге проекта. Вы можете удалить все, но сохраните каталог Активы и ProjectSettings.

Если вы уже создали пустой git репо в режиме онлайн (например, github.com), теперь пришло время загрузить ваш код. Откройте командную строку и выполните следующие шаги:

cd to/your/unity/project/folder

git init

git add *

git commit -m "First commit"

git remote add origin [email protected]:username/project.git

git push -u origin master

Теперь вы должны открыть проект Unity, удерживая клавишу Option или Left Alt. Это заставит Unity воссоздать каталог библиотеки (этот шаг может быть не нужен, поскольку я видел, как Unity воссоздает каталог библиотеки, даже если вы не удерживаете клавишу).

Наконец, git игнорировать каталоги библиотеки и Temp, чтобы они не были перенесены на сервер. Добавьте их в файл .gitignore и нажмите игнорирование на сервер. Помните, что вы передадите только каталоги Assets и ProjectSettings.

И вот мой собственный рецепт .gitignore для моих проектов Unity:

# =============== #
# Unity generated #
# =============== #
Temp/
Obj/
UnityGenerated/
Library/
Assets/AssetStoreTools*

# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
ExportedObj/
*.svd
*.userprefs
*.csproj
*.pidb
*.suo
*.sln
*.user
*.unityproj
*.booproj

# ============ #
# OS generated #
# ============ #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

Ответ 2

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

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

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

Подробнее о сохранении Unity Project под контролем источника вы можете найти в этот пост.

Ответ 3

@German В качестве продолжения ответа немцам: Новый проект Unity должен быть создан в пустой папке. Таким образом, вы не можете создать свой проект для "где у вас есть локальная копия репо" git, как указано в шаге 2. Для этого есть обходной путь: fooobar.com/info/17474/...