uVersion
简体中文
下载 →

Wiki

Quickstart

无需终端,10分钟内完成第一次checkin。

如果你刚加入一个uVersion项目并想开始工作,这个页面就是为你准备的。 一切都在桌面客户端中完成:无需输入任何命令行。

你只需要知道工作室的uVersion服务器地址及其端口、你的用户名和密码。这些信息由你工作室的管理员 提供。如果对方只给了地址而没有端口,请向其索要:端口无法猜到,而这正是最常被遗漏的一项。

术语,用五行讲清

读一遍即可:这五个词到处都会出现
  • 预留一个文件就是checkout:你向团队宣告你将要修改它。
  • 发送它就是checkin:你的工作被送往服务器,你的预留也被交回。
  • 撤销就是revert:文件重新变得与服务器上的版本一致,你的预留也被交回。
  • workspace是你磁盘上的一个文件夹,与服务器上的一个仓库相连。你可以有多个。
  • lock)可防止两个人同时修改同一个二进制文件:对于.uasset,事后没有任何办法把两个版本合并。

1. 安装桌面客户端

uversion.io/downloads 下载适用于你系统的客户端:

  • WindowsuVersion_x.y.z_x64-setup.exe。双击并按照安装程序操作。
  • macOS (Apple Silicon)uVersion_x.y.z_macos-arm64.app.zip。解压后,将 uVersion.app 拖入 应用程序
  • Linux:一条粘贴到终端里的命令,见下方。

在Linux上,最简单的方式是安装脚本。无需 sudo

curl -fSL https://uversion.io/downloads/client/install.sh | sh

它会把应用放到 ~/Applications 并启动它。系统上不会安装任何东西,也不要求管理员权限。你也可以从下载 页面获取AppImage,赋予其可执行权限并运行。详情与前置条件:桌面客户端

2. 登录服务器

1. 填写地址、用户名和密码

启动桌面客户端。Welcome to uVersion 页面会询问三项内容。Server address 字段 并不需要完整的URL:它被拆成三块,一个不可修改的 https:// 前缀、主机,以及端口。 端口默认为 8443,而这恰恰是最常被遗忘的:你的工作室会给你类似 uversion.mygamestudio.com8443 的东西,而不是单独的 https://uversion.mygamestudio.com。如果你把完整地址粘贴到 主机字段,客户端会自动把它拆到两个框里。接着填写 UsernamePassword,然后点击 Sign in

桌面客户端的登录页面:分为三块的Server address字段(灰显的https://前缀、主机、端口8443)、Username和Password字段,以及Sign in按钮。

2. 确认服务器身份,仅需一次

uVersion服务器默认带有自签名证书。这是正常情况,并非异常,也是在没有心理准备时最先卡住的地方。因此 在你第一次连接时,客户端会显示 Verify server identity,并附上服务器的SHA-256指纹。把它与管理员 通过其他渠道(消息、内部wiki、口头)告诉你的进行比对,如果一致,点击 Trust this server

Verify server identity窗口:服务器的SHA-256指纹和Trust this server按钮。

这个问题每台服务器只问一次。如果日后它以红色标题 Server identity changed 再次出现,说明指纹变了: 未向管理员确认前不要接受。详见 TLS指纹 页面。

登录后,客户端会记住你的会话。日常工作中你无需再次输入密码。

3. 将项目获取到本机

项目列表不会自动出现:需要你把它打开。

1. 打开项目列表

只要还没有打开任何项目,Workspace就会显示 No repository selected 和一个 Open Repository 按钮:点击它。如果你已经打开了一个workspace,也可以通过标签栏的 + 打开同一个窗口。它会列出你有权访问的项目,每个项目一张卡片。

Open Repository窗口:每个项目一张卡片,含其名称、描述和创建日期,每张卡片下方的Workspace name字段,绿色的Clone按钮,以及底部的Download files after clone复选框。

2. 核对workspace名称,然后克隆

在目标项目的卡片上,Workspace name 字段决定将要创建的文件夹的名称。留空时,它沿用项目名称。也请 核对窗口最底部的 Download files after clone 复选框:默认勾选,会紧接着开始下载。如果你只想创建 workspace、稍后再取文件,就取消勾选。然后点击 Clone。如果这个项目你已经有一个workspace,按钮会 叫做 Clone New:再克隆一次是正当的,比如为了在两个内容分支上工作。

3. 选择父文件夹

系统的文件夹选择器会打开,标题为 Choose where to clone <项目名称>你选择的文件夹 是父文件夹:uVersion会在其中创建一个以 Workspace name 字段命名的子文件夹。所以要选 D:/Projets,而不是 D:/Projets/MonJeu,否则你会得到 D:/Projets/MonJeu/MonJeu

4. 让传输完成

传输会显示在客户端顶部,带有速率和一个预计剩余时间:以这个估算为准,因为耗时完全取决于你的网络链路和服务器负载。这 期间你可以继续使用客户端,而且网络中断不会丢失任何内容:传输会自动恢复。

Downloading Files窗口:当前文件、进度条、已传输的容量、速率和ETA,以及一个Cancel按钮。

完成后,项目即可在Unreal中打开。

4. 编辑并发送文件

在桌面客户端的 Files 标签页中进行的典型三步工作流。

1. 预留文件

在树中选择文件。只有当选中了内容时,操作栏才存在:只要选择为空,就没有任何按钮,而这并不是正在 加载。一旦选中某个文件,操作栏就会出现,前面带有条目数量({n} file(s) selected)。点击 Checkout:文件变为可编辑,而且只要由你持有,别人就无法碰它。

选中一个文件的Files标签页:显示1 file(s) selected的蓝色操作栏,随后是History、Checkout、Checkin、Revert、Delete和Download按钮。

2. 编辑文件

在Unreal里,或在任何其他工具里。在这个阶段,uVersion这边没有什么特别要做的。

3. 发送你的修改

选择文件,然后点击 Checkin。会弹出一个窗口要求填写消息:写一句话说明你改了什么。发送会交回你的预留, 文件重新变为只读。

特殊情况:你刚创建的文件

一个全新的文件在服务器端还不存在:没有什么可预留的,它也不会出现 Checkout 按钮。选中它,点击 Add,再点击 Checkin

特殊情况:文件已被队友预留

这时你会在 Pending 标签页的 Other users' locks 区域看到它,附有持有者的名字, 以及一个向对方发送请求的 Request Release 按钮。这个按钮只存在于桌面客户端中,Unreal里没有。

Pending标签页的Other Users' Locks表格:文件、锁的持有者、日期,以及每一行的Request Release按钮。
为什么我无法保存这个文件? 在你预留(“checkout”)之前,项目文件是只读的。这是一项安全措施:它能防止你在队友正处理某个asset时 误将其编辑。在桌面客户端或直接在Unreal中执行checkout,文件就会变为可编辑。

5. 直接在Unreal中工作

插件不随项目一起提供 uVersion插件从不纳入版本管理:克隆时你不会得到它,你也不应提交它。它以预编译的二进制形式提供,每台 机器安装与各自的Unreal版本和各自的系统相匹配的那一个。这由桌面客户端负责:一旦它发现你项目的 .uproject 文件(位于根目录、用于描述一个Unreal项目的文件),就会把正确的二进制放入 Plugins/uVersion/。你无需手动做任何事。

1. 在Unreal中打开项目

通过桌面客户端的 Open Editor 按钮,或像往常一样打开。正常情况下没有什么要连接的:插件一旦检测到 项目位于某个uVersion workspace中,就会把自己选为版本控制系统。你的凭据会从桌面客户端沿用,无需 重新输入。

2. 如果插件没有自动启用

打开编辑器状态栏右下角的 Revision Control 菜单,选择 Connect to Revision Control,在 Provider 列表中选择 uVersion,然后点击 Accept Settings

Unreal的Revision Control Login窗口:展开的Provider列表中选中了uVersion、绿色的自动配置提示,以及Accept Settings按钮。

3. 从Content Browser预留并发送

连接后,所有版本控制都在Unreal中进行:右键点击某个asset,然后用 Revision Control → Check Out 预留它,用 Check In 发送它。

Unreal的Content Browser:右键点击某个asset,含Check Out、Check In、History和Revert的Revision Control子菜单,以及状态栏右下角的Revision Control菜单。
  • Content Browser中的小图标可查看每个asset的状态
  • 可从历史记录中使用Blueprint diff
  • 如果管理员启用了规则,会在checkin时进行校验(默认关闭)
代码不从Unreal发送 代码文件(.cpp.h.hpp.c.cs)会被插件在 checkin时拒绝:它们要经过桌面客户端,由其在发送前编译。即使你从不碰代码也该知道的后果:只要你持有哪怕一个 代码文件的预留,你的内容发送也会一并被拒绝。参见 Unreal Engine插件 页面。

接下来