unity3d 为Unity设置Git存储库

示例

为Unity开发初始化Git存储库时,需要完成几件事。

Unity忽略文件夹

并非应该在存储库中对所有内容进行版本控制。您可以将以下模板添加到.gitignore资源库根目录中的文件中。或者,您可以在GitHub上检查开源的Unity .gitignore,或者使用gitignore.iounity生成一个。

# Unity Generated
[Tt]emp/
[Ll]ibrary/
[Oo]bj/

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Visual Studio / MonoDevelop Generated
ExportedObj/
obj/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd

# OS Generated
desktop.ini
.DS_Store
.DS_Store?
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

要了解有关如何设置.gitignore文件的更多信息,请在此处查看。

Unity项目设置

默认情况下,Unity项目未设置为正确支持版本控制。

  1. (在v4.5及更高版本中跳过此步骤)中的启用External选项Unity → Preferences → Packages → Repository。

  2. 切换到Visible Meta Files在Edit → Project Settings → Editor → Version Control Mode。

  3. 切换到Force Text在Edit → Project Settings → Editor → Asset Serialization Mode。

  4. 从File菜单保存场景和项目。

附加配置

在Unity项目中使用Git的主要烦恼之一是Git不在乎目录,并且在删除文件后会很乐意将空目录留在目录中。Unity将为*.meta这些目录创建文件,并且当Git承诺不断添加和删除这些元文件时,Unity可能会在团队成员之间引起一场争斗。

将此Git合并后的钩子添加到其中/.git/hooks/包含Unity项目的存储库的文件夹中。在任何Git拉/合并之后,它将查看已删除了哪些文件,检查其所在目录是否为空,如果是,则将其删除。