admin 发表于 2017-2-24 09:22:50

Unity3D-RPG项目实战(2):使用SVN管理Unity项目

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 选择为;
菜单:Editor-> Project Settings->Editor:Asset Serialization Mode选择为:
菜单:Edit->Preferences -> Packages:Repository选择为;参考资料http://unity3d.com/learn/tutorials/modules/beginner/architecture/folders-in-version-control
http://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.htmlnity3D使用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
里面设置Version Control
的Model为Meta Files
,表示以meta文件来记录资源版本。默认为Disabled
2、设置Asset Serialization
的Mode为Force Text
,表示以纯文本形式保存unity文件。Mixed和Force Binary
都是二进制,不利于版本管理。
3、提交的时候仅提交Assets 和 ProjectSettings 两个目录下所有东西,忽略掉其他所有目录和文件
可以为根目录添加svn:ignore属性,内容为
Library
Temp
obj
这样,这些内容就不会被提交了
4、提交的时候.meta
文件也要提交,这个文件记录了此项一个唯一的64位的guid,这个文件必须上传,否则会出现各种缺失的异常情况(比如脚本Miss等)



fisonlee 发表于 2019-3-6 08:05:44

这个帖子不错,大家快来顶起来!捡代码论坛资源就是不错。
页: [1]
查看完整版本: Unity3D-RPG项目实战(2):使用SVN管理Unity项目