Я использую Git для проекта Unity моего собственного (я единственный разработчик, поэтому могу использовать деструктивные команды).Git Subtree Specific Ignoring
Как известно разработчикам Unity, Unity создает файлы «.meta» для всего, что находится в папке «Активы», которая является основной папкой проекта. И эти файлы «должны» также отслеживаться вместе с оригинальными файлами, чтобы сохранить целостность проекта.
Вот .gitignore
файл репозитория проекта:
# Unity Project Folder
/ExampleProjectName/[Ll]ibrary/
/ExampleProjectName/[Tt]emp/
/ExampleProjectName/[Oo]bj/
# Autogenerated VS/MD solution and project files
ExportedObj/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
# Unity3D Generated File On Crash Reports
sysinfo.txt
# OS Related Stuff
desktop.ini
.DS_Store
.DS_Store?
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
У меня также есть рамки и общий репозиторий кода. И I игнорируют файлы .meta
в этом репозитории фреймворка, потому что файлы для этих скриптов должны создаваться по каждому проекту, когда структура импортируется в проект. (И это досадно видеть .meta
файлы везде в рамочном репо.)
Вот .gitignore
файл рамочного хранилища:
# Exclude ".meta" files created by Unity
*.meta
# Autogenerated VS/MD solution and project files
### The rest is identical to the project .gitignore file. ###
Как вы можете себе представить, я пытался добавить рамки, как поддерево для репозитория проекта. Это действительно работает, но есть проблема: файл .gitignore
репозитория каркаса, который игнорирует файлы .meta
, также относится к репозиторию проекта и заставляет его игнорировать файлы .meta
в каталоге поддерева.
Подводя итог: Я хочу .meta
файлов, которые находятся в каталоге поддерева (рекурсивно) будет отслеживаться в хранилище проекта, но будет проигнорирована на рамочном хранилище.
(Для тех, кому интересно, почему .meta
файлов должны быть отслежены, наиболее важной причиной является то .meta
файлов включают в себя идентификатор соответствующего актива, и Unity использует эти идентификаторы, чтобы Referance этих активов в проекте.)