为 Unity3D 项目配置 Git
致荒是用 Unity 开发的,早先版本控制用的是 Asset Server ,后转用 Git ,以下是我们为这个项目配置 Git 的完整流程。
1. 在本地安装 Git 及图形界面客户端
下载安装 Git
其中自带图形界面,但功能比较简单,也不是太好看,推荐用 SourceTree : Free Mercurial and Git Client for Windows and Mac
2. 修改项目参数
打开 Unity 项目,从菜单栏中依次点入 Edit -> Project Settings -> Editor ,这个选项页下有两个参数需要改一下。
首先将 Version Control 下的 Mode 参数设置成 Visible Meta Data ,这么做的原因是 Unity 给每个资源分配了一个和资源同名且后缀是 .meta 的描述文件,这个文件是和资源绑定的,里面描述了资源的全局 ID、创建时间之类的参数,必须在不同的机子上共享。
其次如果你用的是 Unity Pro ,那么可以考虑将 Asset Serialization 下的 Mode 参数设置成 Force Text,这么做的原因是使用文本而不是二进制流来存储资源数据,一定程度上可以避免资源(尤其是场景)频繁地请求提交,也可以避免冲突后的混乱。但这个方法可能不适用于数据量很大的场景,因为序列化会花更多的时间。
设置完后记得退出 Unity 以确定新的参数被保存。
3. 为 Git 配置 ignore 文件
官方文档里有说明,项目目录下需同步 Assets 和 ProjectSettings 两个文件夹,而其余由引擎、 IDE 或系统生成的文件并不需要同步。以下 .gitignore 文件可供参考:
# =============== #
# 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
4. 提交代码
现在可以将代码提交到本地并推送到服务端。其它人下载后,用 Unity 打开项目文件夹,Unity 会生成其余所需文件。
5. 注意事项
目前能想到的问题是,尽管我们把资源序列化成文本,但是一些资源比如场景的冲突还是很让人头疼的,尽量让少数人修改场景,避免冲突。
以上步骤来自下边几个帖子:
Gamasutra: Alistair Doulin's Blog
unity3d - How to prepare a Unity project for git?
unity3d - How to use Git for Unity source control?
查看评论 回复