Unity提供了自己的XXXServer,不过大家评论好像不是很好用,主要是不支持branch等我们做项目的重要特性;他还推荐Perforce这样高大上的版本管理系统,不过都很贵。所以我还是打算使用比较习惯的SVN来管理。 需要版本管理的目录新建一个Unity Project之后,发现产生了很多目录和文件,其中只有两个是需要版本管理的:Assets、ProjectSettings。其他的都是自动生成的: - *.csproj,*.sln这些IDE的工程文件是自动生成的;
- Library,主要存的是一个本地的Cache文件,不要加到版本管理中;
- Tem,这个是Build过程中产生的文件;
复制代码 Unity Project Settings为了配合SVN,需要对Unity工程做一些设置: - 菜单:Edit->Project Settings->Editor:Version Control 选择为[Visible Meta Files];
- 菜单:Editor-> Project Settings->Editor:Asset Serialization Mode选择为:[Force Text]
- 菜单:Edit->Preferences -> Packages:Repository选择为[External];
复制代码参考资料 - http://unity3d.com/learn/tutorials/modules/beginner/architecture/folders-in-version-control
- http://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.html
复制代码 nity3D使用SVN进行版本控制
如果不购买官方的TeamLicense,使用SVN版本控制也是一个不错的选择。 首先在SVN服务器建立项目文件夹; 本地项目需要进行一些操作之后才能Import到服务器,
- 1、 打开metaFile设置,
- a) Editor->ProjectSettings->Editor
- b) Version Control Mode ->MetaFile
- 2、 关闭unity3d
- 3、 将项目中的Library文件夹删除
复制代码接下来将整个项目Import到SVN服务器。 团队的其他成员将项目CheckOut到本地,打开项目unity3d会再次生成Library文件夹。 每次Commit不光要上传修改的文件,而且要将.meta文件一并上传,该文件包含了一些脚本的关联属性的设置等配置信息等。
1、在Uniyt里面, - Edit->project settings->editor
复制代码
里面设置
的Model为
,表示以meta文件来记录资源版本。默认为
2、设置
的Mode为
,表示以纯文本形式保存unity文件。
都是二进制,不利于版本管理。
3、提交的时候仅提交Assets 和 ProjectSettings 两个目录下所有东西,忽略掉其他所有目录和文件
可以为根目录添加svn:ignore属性,内容为
这样,这些内容就不会被提交了
4、提交的时候
文件也要提交,这个文件记录了此项一个唯一的64位的guid,这个文件必须上传,否则会出现各种缺失的异常情况(比如脚本Miss等)
|