查看: 384|回复: 12

[引擎各个功能] 【在虚幻 4 中使用 SVN 作为版本控制软件 | Unreal Engine】

[复制链接]

1

主题

273

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73038
发表于 2016-6-25 18:44:17 | 显示全部楼层 |阅读模式


本页面的内容:

      
在虚幻引擎 4 中使用 Subversion(SVN)
架设 SVN 服务器
在本地机器上设置 SVN 服务器
局域网的服务器
安全访问
云服务商
签出到本地工作拷贝(Working Copy)
向 Subversion 添加文件
从虚幻编辑器中连接 Subversion
在 Mac OSX 上使用 SVN 以及安全连接
     
虚幻引擎 4 已经整合了一个叫做 Subversion 的版本控制软件,或简称 SVN,以便让大家能够在项目上协同工作。版本控制软件能够为团队成员提供一个共享资源和代码的方式,并且还提供了文件的备份以及历史记录查询,这样便能在当有问题发生时将某部分回滚到一个早先的版本上。
在虚幻引擎 4 中使用 Subversion(SVN)
如果不选用 Perforce,那么可以使用 Subversion(SVN)。对于用户使用数据的行为上 SVN 和 Perforce 类似。以下的指南将引导如何在虚幻 4 的项目上配置 SVN 为软件版本管理服务。

架设 SVN 服务器
要架设一个 SVN 服务器,可以通过 Subversion 的命令行工具来完成,但这里为了方便,我们准备描述如何在 Windows 上使用 VisualSVN 来架设服务器。

可以在 这里 下载 Windows 版本的 SVN。

在本地机器上设置 SVN 服务器
在 SVN 安装完成后,在 VisualSVN 中打开 SVN,在资源详细内容树的 Repositories 上 点击右键 并选择 Create New Repository:

SC_SVN_Create_New_Repository.jpg



如果有此提示,先选择 Regular Files System。

SC_SVN_Choose_Regualr_File_System.jpg



然后为该库(repository)输入一个名字。

SC_SVN_Repository_Name.jpg



接下来选择是否要在库中添加一些初始资源详细内容:

SC_SVN_Initial_Repo_Structure.jpg



如果要和其他人一起在 C++ 的代码上协同工作,添加 Trunk、Branches 和 Tag 资源详细内容会比较有用。初始的安全设置也可以在这时设置。如果不确定该如何设置的话,可以对所有的用户读写权限保留默认设置。完成创建后,就应该能在树形列表中看见新建的库了。

局域网的服务器
可以在本地局域网中设置一个服务器方便团队成员协同工作。只需要遵循上述的过程搭建服务并在客户端使用该服务器的连接信息即可。

安全访问
很多用户都希望通过安全连接来访问他们的库。这些连接的 URL 地址以 https:// 作为开头,并且在设置的时候有一些事情需要注意。要使用 HTTPS 的话,服务端需要提供一个受信任的证书,这样客户端便能知道它当前连接的是一个安全的服务器。VisualSVN 可以签发一个本地证书,这样内部用户就能使用安全连接。可以通过在树状视图的根节点 点击右键 来查看详细信息,选择 属性 并浏览 证书 Certificate 分页:

SC_SVN_Certificate.jpg



请注意当使用安全连接连接到 SVN 服务器的时候,服务器签发的证书对应的名字必须和用户连接的名字相同。比如,如果用户通过 URL https://my-server/svn 来访问服务器,因此这个证书则应该是签发给 “my-server”(去掉引号)的,同样,如果用户是通过 IP 地址 https://192.168.0.1/svn 来连接的话,那么证书就应该被签发给 “192.168.0.1”(去掉引号)。

云服务商
有一些云服务商提供了 SVN 的云端架设服务以方便远程协作。可以先快速浏览以下搜索引擎中的 SVN Hosting 结果。每个主机服务商都有些不同,但总的来说都是会提供一组验证信息供你连接。查看下面的 从虚幻编辑器中连接 的部分来了解连接到 Perforce 云服务的信息。

签出到本地工作拷贝(Working Copy)
要在 SVN 的版本管理下工作,需要设置一个 Working Copy 这样文件才能在你本地机器上管理。目前还不能在虚幻编辑器中完成这个设置。可以通过 SVN 的命令行工具来设置,但在我们这里为了方便,我们描述如何在 Windows 的 TortoiseSVN 中设置 Working Copy。

可以在 这里 下载 Windows 版本的 TortoiseSVN。

在创建一个新项目时,可以选择是 C++ 项目还是纯蓝图项目。 如果选择了 C++ 项目,则可以在项目资源详细内容中可以看到有 Source/ 资源详细内容。下面这些项目资源详细内容初始就应当被添加到版本管理中:

SC_SVN_Added_Filese.jpg



被高亮为 绿色 的资源详细内容和文件应该被添加到项目的 Depot 中。Binaries 资源详细内容高亮为 黄色,可以选择是否要加入到版本管理中,这取决于团队自生的工作需要。如果团队中每个人都准备自己来编译引擎和游戏的话,那么 Binaries 则无需加入到版本管理中,但如果团队中有人只是想获取一个版本就能直接在编辑器中工作的话,则需要把 Binaries 添加上去。

如果在一个其他人已经创建的项目中工作,以下的步骤可以跳过,它们可能并不适用。

要创建 Working Copy,需要先 Check Out 库的根资源详细内容(假设是空资源详细内容)。只需要在 Windows 的资源管理器中在项目资源详细内容上 点击右键 并选择 SVN Checkout。

SC_SVN_Checkout.jpg



输入你的库的 URL 地址以及 checkout 到本地的资源详细内容(请确认没有创建出子资源详细内容)。

SC_New_Workspace.jpg



然后点击 OK,在本地的指定资源详细内容中会自动创建一个隐藏文件夹 .svn,SVN 软件会在其中保存 Working Copy 的相关信息。

向 Subversion 添加文件
要想你的库中添加文件的话,在 Windows 的资源管理器中选择要添加的项目,然后 点击右键 并选择 TortoiseSVN->Add 选项。

SC_SVN_Add.jpg



然后 SVN 将会标记这些选择的文件并准备添加到库中。接下来,右键点击 项目资源详细内容,并选择 TortoiseSVN->SVN Commit。

SC_SVN_Commit.jpg



这将会扫描资源详细内容中有过变化的文件或者新增的文件,并在提交对话框中显示。

SC_SVN_Commit_Message.jpg



现在可以输入提交的信息,并点击 OK 按钮将改动上传到服务器。如果想要在其他人已经开始的项目上工作,则需要通过 TortoiseSVN 工具来从 SVN 上获取最新的版本,只需执行上面的 SVN Checkout 的过程,并勾选 Fully Recursive 来确保每个子资源详细内容中的内容都能得到更新。这将会把所有服务器上存在的文件都下载到本地资源详细内容中。

从虚幻编辑器中连接 Subversion
可以在编辑器中直接连接 SVN 服务器,只需点击 工具栏 的 版本控制 按钮:

SC_SVN_Connect_From_UE4_1.jpg



打开后,选择 Subversion 作为软件版本管理软件的提供商,并输入登录验证信息。密码部分可以选填,填了就可以无需每次都输入密码。一旦设置成功,SVN 将会保存这些信息。

SC_SVN_Connect_From_UE4_2.jpg



在 Mac OSX 上使用 SVN 以及安全连接
由于 Mac 保存安全信息,比如密码,的方式,可能会在编辑器设置后还需要额外的一些步骤才能正常的连接到诸如 https:// 的服务器上。如果看到以下这些错误信息的话,可能需要执行额外的步骤:
E175002: Unexpected HTTP status 400 'Bad Request' on '/projectname/'E175002: Unexpected HTTP status 405 'Method Not Allowed' on '/projectname/'E215004: Authentication failed and interactive prompting is disabled; see the --force-interactive optionE215004: No more credentials or we tried too many times.
要修复这个,首先打开命令行窗口,并输入:
cd [Engine Installation Directory]/Engine/Binaries/ThirdParty/svn/Mac/bin
这样能将当前资源详细内容改变到引擎附带的 SVN 执行文件资源详细内容下(并不是引擎的安装资源详细内容)。

然后输入:
svn info --username=me https://example.com/svn/repo
将你的用户名和库的 URL 地址替换上面相应的部分,这时将会提示输入密码:
Authentication realm: Password for 'me':
输入密码后,将会保存在 keychain 中。然后只要按照上面的正常步骤,编辑器就能正确的连接到服务器了。



   



   


      




   


      相关页面

  




       源代码控制集成








      内容浏览器








      重定向链接








      项目设置








      配置文件




回复

使用道具 举报

0

主题

848

帖子

2820

积分

vip会员

Rank: 1

积分
2820
发表于 2016-7-2 19:06:53 来自手机 | 显示全部楼层
啊啊啊啊,好多好多好多
回复 支持 反对

使用道具 举报

0

主题

821

帖子

2717

积分

vip会员

Rank: 1

积分
2717
发表于 2016-7-3 00:35:14 | 显示全部楼层
瞧一瞧看一看,看看我又没有!
回复 支持 反对

使用道具 举报

0

主题

856

帖子

2805

积分

vip会员

Rank: 1

积分
2805
发表于 2016-7-4 04:59:00 来自手机 | 显示全部楼层
我来看看 这个怎么样
回复 支持 反对

使用道具 举报

0

主题

924

帖子

2991

积分

vip会员

Rank: 1

积分
2991
发表于 2016-7-4 14:52:00 来自手机 | 显示全部楼层
恩,好资源~ 哈哈~
回复 支持 反对

使用道具 举报

0

主题

877

帖子

2889

积分

vip会员

Rank: 1

积分
2889
发表于 2016-7-7 03:44:50 来自手机 | 显示全部楼层
看一下你发的到底是什么鬼!
回复 支持 反对

使用道具 举报

0

主题

933

帖子

3083

积分

vip会员

Rank: 1

积分
3083
发表于 2016-7-9 11:25:52 来自手机 | 显示全部楼层
最喜欢全套的了
回复 支持 反对

使用道具 举报

0

主题

876

帖子

2922

积分

vip会员

Rank: 1

积分
2922
发表于 2016-7-13 09:55:14 | 显示全部楼层
这样的人是业界良心 有时在人人下个东西学比取经还难
回复 支持 反对

使用道具 举报

0

主题

826

帖子

2694

积分

vip会员

Rank: 1

积分
2694
发表于 2016-7-13 15:56:51 来自手机 | 显示全部楼层
这个必须可以有
回复 支持 反对

使用道具 举报

0

主题

1271

帖子

3982

积分

vip会员

Rank: 1

积分
3982
发表于 2016-7-15 08:55:23 来自手机 | 显示全部楼层
看看有近期需要的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部