新项目要使用SVN来管理unity项目,而之前更多的是使用AssetServer来管理的,为此查了网上各位大牛们的经验,在这里记录下。
====================================================================================================================================
本文参考的原文出自 jjiss318
使用Unity3D也有一段时间了,由于团队一直使用SVN进行版本管理,现总结一下:
(1) Unity3D的二进制资源必须加锁进行版本控制,因为它没办法merge;
(2) Unity3D自己产生的C#工程相关文件,包括VS产生或者Mono产生的,都不需要归入版本控制;
(3) 在新加入项时,Unity3D会产生一个同名的.meta文件,这个文件记录了此项一个唯一的64位的guid,这个文件必须上 传,否则会出现各种缺失的异常情况(比如脚本Miss等)
(4) 对于Library文件夹,有以下几个.Asset文件需要进行版本管理:
TimeManager
TagManager
QualitySettings
ProjectSettings
NetworkManager
InputManager
EditorBuildSettings
DynamicsManager
AudioManager
即便如此,在使用Editor进行开发时,由于需要经常改动场景的.unity 文件,而这个是二进制的,所以需要得锁且不能Merge。感觉并行开发的难度还是比较大的,Unity3D还是比较适合个人开发者和较小团队开发,对于大型团队开发,无论是从版本管理还是代码结构上,都觉得不太方便和自然。
======================================================================================================
本文参考的原文出自小汽车
虽然unity有自己的Asset Server,但始终感觉那个不方便,而且不能管理相关的需求、设计文档,除非你把这些放进Assets文件夹,不过我估计没人喜欢这么做。
Unity 3.5版本以后,使用SVN要方便一些了。因为必要的*.asset文件全部被独立的放在了ProjectSettings文件夹下。
所以我们只要把Assets、ProjectSettings两个文件夹提交到SVN来管理即可。
可以为根目录添加svn:ignore属性,内容为
Library
Temp
obj
这样,这些内容就不会被提交了。
另外还有一项设置别忘了。菜单 Edit / Project Settings/ Editor
使用SVN的时候,这一项一定要选Meta Files,默认是Disable。
好了。把除Assets、ProjectSettings之外的文件夹全部添加到忽略列表里。提交,Ok!
最后还有一些建议,场景文件(*.unity)最好使用锁定检出。给场景文件添加属性 svn:needs-lock 内容为 *
===================================================================================================================此处留出作为最后自我体验完的总结段(暂)
===================================================================================================================