Какие типы файлов я должен исключить из репозитория управления исходным кодом моей игры?

11

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

Мне известно о том, что существует много типов файлов, а именно тех, которые генерируются локально при сборке (например, файлы Visual Studio), и тех, которые относятся к вашей конкретной машине, которые не следует добавлять в систему контроля версий, но Я не совсем уверен, что это за типы файлов.

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

Будет ли кто-нибудь в состоянии перечислить все или, по крайней мере, все распространенные типы файлов, которые не следует добавлять в систему контроля версий, особенно для проекта Unity?

SirYakalot
источник

Ответы:

9

В текущей версии Unity просто отметьте что-нибудь в папке Assets и в папке ProjectSettings. Не проверяйте что-либо в библиотеке или на верхнем уровне.

тетрада
источник
8

Хорошей ссылкой для такого рода списков являются шаблоны GitHub Gitignore . Специфичный для Unity список здесь .

И если вы чувствуете, что чего-то не хватает, сделайте запрос на удаление!

Лоран Кувиду
источник
5

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

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

Кроме того, это действительно зависит от вас и вашего проекта.


источник
2
Я полагаю, что я действительно прошу, это короткий список файлов, которые в стандартном проекте Unity являются файлами, которые генерируются или являются конкретными для пользователя. Помимо файлов, которые я создаю вручную, я совершенно не знаю, что делать, что и откуда.
SirYakalot
Понимаю. Я отредактировал ваш вопрос, чтобы прояснить это, поскольку бит Unity был удален к тому времени, когда я его увидел (или я просто пропустил его).
3

В качестве примера вы можете взглянуть на мой проект Unity Radius на GitHub. Или Unity.gitignoreоформить заказ в официальном репозитории GitHub gitignore.

На его сайте также есть замечательное руководство Дэмиена Мейанса о проектах Git и Unity.

Убедитесь, что вы отметили свои .metaфайлы, так как именно это Unity использует для ссылки на каждый актив. Вы можете сделать их нескрываемым в вашей ОС, перейдя к Edit->Project Settings->Editorи изменения Version Controlк Visible Meta Files.

Если вы храните свой проект UnityProjectNameUnity в папке с именем , это то, как должен выглядеть ваш .gitignore. Если у вас просто есть папка проекта Unity в качестве корня репозитория GitHub, просто удалите UnityProjectName/из каждого пути ниже.

.gitignore

# Ignore unneeded Unity files
# --------------------------------------------------
UnityProjectName/Temp/
UnityProjectName/obj/
UnityProjectName/Library/

UnityProjectName/*.csproj
UnityProjectName/*.unityproj
UnityProjectName/*.sln

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/
MLM
источник
1

Я не знаю о единстве, но вы упомянули визуальную студию. Там обычно можно исключить папки bin и obj в папках проекта (в некоторых типах проектов в папке bin также хранятся сборки из включенных проектов, но я думаю, что это применимо только к определенному типу веб-проектов).

Также не проверяйте файлы " .csproj.user" и " .suo". Эти два типа включают пользовательские настройки. Если вы отметите их, все пользовательские настройки будут отражены на других компьютерах при обновлении источника. Это довольно раздражает, так как эти настройки не имеют отношения к сборке или проекту, а скорее к настройке пользовательского интерфейса, редактора и т. Д. Для индивидуальных потребностей каждого разработчика.

Том Ван Грин
источник