
Unity 版本控制

什么是 Unity Version Control?
Unity Version Control 是一个可扩展的、与引擎无关的 Version Control 和源代码管理工具,可促进跨学科协作。凭借处理大型文件和二进制文件的卓越速度,它结合了集中式和分布式工作流,因此艺术家和程序员都可以以他们所需的方式工作。
将 Unity Version Control 与 Unity 编辑器一起使用
本指南介绍如何使用以下任一编辑器版本在 Unity 中设置 Version Control:
- 2019.4.29f1 或更高版本
- 2020.3.15f1 或更高版本
- 2021.1.15f1 或更高版本
- 2021.2.0b6 或更高版本
- 2022.1.0a4 之后的任何版本

1.将 Version Control 连接到 Unity
要开始,请将您的 Unity ID 连接到 Unity Version Control,然后选择或创建新组织。
- 首先,单击右上角工具栏中的 Unity Version Control 图标,在 Unity 中打开 Unity Version Control。一个窗口将提示""%1""您完成设置。
- 单击登录或注册,Unity Version Control 将自动连接到您的 Unity ID。
- 接下来,如果您的 Unity ID 尚未与组织关联,系统将提示您创建一个。如果您已经属于某个组织,则可以从下拉菜单中选择一个加入。

2.2. 2. 为您的工作流程创建优化的工作空间
- 接下来,返回到 Unity Version Control 窗口,然后单击创建工作区。
- Unity Version Control 将为您的代码仓库(共享文件和历史记录)和工作空间(您的本地副本)提供建议名称。如果您希望使用现有的 Unity Version Control 代码仓库,请单击代码仓库名称旁边的三个点 (:),然后从列表中选择一个代码仓库。
- 接下来,选择您喜欢的工作空间类型。Unity Version Control 是针对游戏开发和 3D 项目进行优化的版本控制系统。因此,它支持同一存储库中的独立工作流。我们为程序员设计了 Plastic 工作空间 '%1!(分布式),为美术师设计了 Gluon 工作空间 '%1!(集中式)。

3.3. 3. 添加与您的项目关联的资源文件
- 接下来,Unity Version Control 将在 Pending changes 选项卡中显示资源文件夹中的项目文件。您可以通过选择文件并单击 Checkin changes 来选择要包含的特定文件或将所有文件添加到代码仓库。
- 从 Unity 编辑器设置时,Plastic SCM 将自动检查适当的文件夹和文件,例如包文件和项目设置。您可以在 Changesets 选项卡中查看这些内容。
- 完成初始资源签入后,即可完成 Unity 的 Version Control 设置并准备好进行创建。

4.默认情况下设置为忽略的文件类型
此外,项目根目录下的 ignore.conf 文件中保存了一个列表,其中描述了默认情况下应忽略哪些文件。您可以对其进行编辑以在忽略列表中添加或排除文件。

5.如何邀请团队成员加入 Unity Version Control
- 要邀请团队成员参与您的项目,请单击 Unity 中 Version Control 选项卡中的 Options 菜单(齿轮图标),然后选择 Invite Members to Workspace。
- 您将被带到 Unity Version Control 云仪表板。在这里,您可以添加新用户、重新发送邀请或设置权限。
注意:如果您未登录到 Unity Version Control 云控制面板,系统可能会提示您使用 Unity ID 登录。

6.6. 6. 签入更改和文件历史记录的基础知识
通过 Pending changes 选项卡,您可以签入保存到项目的更改以发送到您的代码仓库。
Changesets 选项卡为您显示了对代码仓库所做更改的项目历史记录以及进行更改的成员。单击列出的每个变更集,可查看受该变更集影响的文件。
您还可以查看每个文件的历史记录,方法是右键单击并选择 View file history,它会显示对文件所做的更改列表。您也可以右键单击某个早期版本,并选择 Revert file to this revision。
Unity Version Control无处不在
无论您使用的是虚幻引擎、不受支持的 Unity 版本还是其他引擎,仍可以通过下载完整客户端来使用 Unity Version Control 的完整功能。

1.下载并选择工作流程
- 首先,首先从 Plastic SCM 网站 下载 Unity Version Control,然后按照安装向导中的说明进行操作。
- 完成后,系统将提示您启动您喜欢的工作流类型。为了最大限度地减少美术师和程序员在协作时的冲突,Version Control 提供了单独的 GUI 以促进同一代码仓库中采用两种不同的工作流程。
- 我们为程序员设计了 Plastic 选项,为美术师设计了 Gluon 界面。
- 这种选择不是永久的。您将能够使用客户端右上角的菜单在 Gluon 和 Plastic 界面之间切换。

2.登录并设置 Unity Version Control
- 接下来,将要求您登录或注册一个帐户。即使您不使用 Unity 作为项目的引擎,仍建议您使用 Unity ID。

3.选择或创建组织
- 您将转到 Plastic 主屏幕,如上所示。如果您没有与该帐户关联的组织,系统将提示您创建一个。如果不创建,您可以选择要使用的现有组织。
- 如果有现有的代码仓库,左侧将显示一个列表。通过单击某项,可以在获取其工作副本之前浏览代码仓库内容。

4.选择或创建代码仓库和工作空间
- 单击 (+) 以创建新代码仓库,或选择其中一个代码仓库并单击蓝色下载按钮以创建工作空间并将其与代码仓库同步。
- 对于磁盘路径,请确保选择当前包含项目文件的目录。

5.添加包和项目设置文件
- Unity Version Control 客户端现在将打开您的项目。
- 如果您在上一步中被定向到现有项目,则需要导航到 Pending changes 选项卡(如使用开发者界面,如上所示),选择所有包和项目设置文件和文件夹,然后单击 Checkin 将其提交。

6.添加资源文件并准备开始
- 接下来,选择您需要添加到代码仓库的资源文件夹和文件以开始工作,然后再次单击 Checkin。
- 如果这些设置为私有,您可以导航回 Workspace Explorer(在 Gluon 中名为 Explore workspace),找到文件,右键单击并选择 Add to source control,然后在 Pending changes 选项卡中完成签入。
- 现在,您已经使用 Unity Version Control 进行了设置并准备创建。
7.默认情况下设置为忽略的文件类型
此外,项目根目录下的 'ignore.conf' 文件中保存了一个列表,该列表描述了默认忽略哪些文件。您可以对其进行编辑以在忽略列表中添加或排除文件。

8.使用单独的客户端推送更改
在引擎外部使用独立的 Unity Version Control 客户端时,您需要在单独的窗口中使用客户端对保存到项目的更改进行签入更改。
Pending changes 选项卡 (在 Gluon 中为 Checkin changes)用于签入您对项目所做的更改以发送到您的代码仓库。

9.在客户端查看文件历史记录并恢复文件
Changesets 选项卡为您显示了对代码仓库所做更改的项目历史记录以及进行更改的成员。双击列出的变更集,可查看受该变更集影响的文件。
您还可以查看每个文件的历史记录,方法是右键单击并选择 View file history,它会显示对文件所做的更改列表。您也可以右键单击某个早期版本,并选择 Revert file to this revision。

10.将 Unity Version Control 连接到虚实引擎
如果您将 Unity Version Control 与虚幻引擎一起使用,可在编辑器中使用源代码控制,而无需为大多数任务维护单独的窗口。您可以在下面的链接中找到有关虚幻引擎插件的更多信息。