为 Unity 设置 Git 存储库
在为 Unity 开发初始化 Git 存储库时,有几件事需要完成。
Unity 忽略文件夹
并非所有内容都应在存储库中进行版本控制。你可以将以下模板添加到存储库根目录中的 .gitignore
文件中。或者,你可以在 GitHub 上检查开源 Unity .gitignore ,也可以使用 gitignore.io生成一个用于统一的。
# 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 项目未设置为正确支持版本控制。
- (在 v4.5 及更高版本中跳过此步骤)在
Unity → Preferences → Packages → Repository
中启用External
选项。 - 切换到
Edit → Project Settings → Editor → Version Control Mode
中的Visible Meta Files
。 - 切换到
Edit → Project Settings → Editor → Asset Serialization Mode
中的Force Text
。 - 从
File
菜单中保存场景和项目。
附加配置
使用 Git 和 Unity 项目的几个主要烦恼之一是 Git 不关心目录,并且在从它们中删除文件后会愉快地留下空目录。Unity 将为这些目录制作*.meta
文件,当 Git 提交不断添加和删除这些元文件时,可能会导致团队成员之间发生争执。
将此 Git 合并后挂钩添加到/.git/hooks/
文件夹中,以获取包含 Unity 项目的存储库。在任何 Git pull / merge 之后,它将查看已删除的文件,检查它所在的目录是否为空,如果是,则删除它。