Unity 集成了两个版本控制系统:Perforce用于文件更改管理的版本控制系统。 更多信息
参见 术语表 和 Plastic SCM。要在 Unity 中使用版本控制集成,您需要为 Unity 项目设置 Perforce 或 Plastic SCM 服务器。
打开 Unity 项目,转到 编辑 > 项目设置,然后选择 版本控制 类别。
属性 | 描述 | |
---|---|---|
模式 | 选择版本控制模式。 | |
隐藏元数据文件 | 在操作系统的文件浏览器中隐藏 .meta 文件。无论您选择哪种模式,Unity 都不会在项目视图中显示 .meta 文件。 | |
可见元数据文件 | 如果您要使用 Unity 不支持的版本控制系统,请选择此选项。这是默认设置。然后,您可以使用您选择的版本控制系统管理源资源和这些资源的元数据。 | |
Perforce | 如果您使用 Perforce 作为您的版本控制系统,请选择此选项。 | |
用户名 | 输入与您的 Perforce 帐户关联的用户名。此属性仅在 模式 设置为 Perforce 时可见。 | |
密码 | 输入与您的 Perforce 帐户关联的密码。此属性仅在 模式 设置为 Perforce 时可见。 | |
工作区 | 输入您的工作区。例如,Example**Workspace**1 。此属性仅在 模式 设置为 Perforce 时可见。 |
|
服务器 | 输入您的 Unity 项目所在的服务器。例如,localhost:1666。此属性仅在 模式 设置为 Perforce 时可见。 | |
主机 | 输入您希望计算机模拟的主机名。例如,workstation123.perforce.com。此属性仅在 模式 设置为 Perforce 时可见。 | |
日志级别 | 选择在 Unity 的控制台日志中接收多少版本控制信息。 | |
详细 | 记录与版本控制相关的每个操作。此选项提供非常详细的日志记录,如果您想调试您的版本控制设置,这将很有用。此属性仅在 模式 设置为 Perforce 时可见。 | |
信息 | 记录与版本控制相关的错误、警告和信息。 | |
通知 | 记录错误和警告。 | |
致命 | Unity 仅将致命错误打印到控制台。 | |
状态 | 显示与版本控制系统连接状态的信息。如果您未连接,请选择 连接 以连接到您已配置的系统。此属性仅在 模式 设置为 Perforce 时可见。 | |
自动添加 | 启用此设置后,当您通过编辑器或磁盘上的文件夹将文件添加到项目时,会自动将文件添加到版本控制系统。禁用此设置后,您需要手动将文件添加到版本控制系统。此设置默认启用。此属性仅在 模式 设置为 Perforce 时可见。 | |
脱机工作 | 启用此设置以脱机工作。启用此设置后,您需要在 P4V 中协调脱机工作,或使用 P4 中的协调命令使 Perforce 服务器库与您在脱机时所做的工作保持同步。有关更多信息,请参阅 使用 Perforce 脱机工作。此属性仅在 模式 设置为 Perforce 时可见。 | |
异步更新 | 启用此设置以使用异步版本控制状态查询。启用后,Perforce 会更新文件的版本控制状态,而不会停止 Unity 编辑器。当您与版本控制服务器的连接具有高延迟时,请使用此设置。 注意: 只有状态查询是异步的。Unity 会同步执行更改文件状态或需要文件状态最新信息的操作。此属性仅在 模式 设置为 Perforce 时可见。 |
|
显示检出失败 | 启用此属性以在 Perforce 无法执行检出操作时显示对话框。如果您断开连接或其他用户已独占检出您要编辑的资源,则可能会发生这种情况。此属性仅在 模式 设置为 Perforce 时可见。 | |
覆盖检出失败的资源 | 启用此设置后,Unity 会保存任何无法检出的资源。这意味着 Unity 会强制保存文件,即使 Perforce 无法检出该文件。这是默认启用的。如果禁用它,则如果 Perforce 无法检出文件,Unity 不会强制保存文件。此属性仅在 模式 设置为 Perforce 时可见。 | |
智能合并 | 智能合并 使 Unity 更容易合并同一行上发生更改的文件。如果多个用户同时处理同一个项目,这将非常有用。此属性仅在 模式 设置为 Perforce 时可见。 | |
关闭 | 禁用智能合并。 | |
询问 | 启用智能合并,但在发生冲突时,您会在合并之前收到通知。这是默认设置。 | |
预合并 | 自动使用智能合并。 | |
项目外部的版本包 | 跟踪位于 Unity 项目根文件夹外部磁盘上的包的更改,同时仍保留在本地工作区中。此属性仅在 模式 设置为 Perforce 时可见。 | |
覆盖图标 | 启用此设置以在编辑器中显示版本控制状态图标。此属性仅在 模式 设置为 Perforce 时可见。 |
配置版本控制用于管理文件更改的系统。您可以将 Unity 与大多数常见的版本控制工具结合使用,包括 Perforce、Git、Mercurial 和 PlasticSCM。 更多信息
参见 术语表设置,然后选择状态区域旁边的 连接 按钮以连接到版本控制系统。当 Unity 连接到系统时,已连接 将显示在状态区域中。
要调整您的修订控制工具,请打开 首选项,然后选择 外部工具 部分。您可以在 修订控制差异/合并 下选择一个新工具。
当您将编辑器设置为与您的版本控制系统一起工作时,您可以通过编辑器执行版本控制操作,而不是在版本控制客户端中执行。为此,请右键单击项目视图中的资源。
版本控制操作因您使用的版本控制而异。下表显示了每个版本控制可用的操作。
版本控制操作 | 描述 | Perforce | Plastic SCM |
---|---|---|---|
获取最新版本 | 这会将您计算机上的文件更新为与版本控制系统中的文件匹配。 | 是 | 否。要获取最新的更改并更新文件,您需要使用版本控制窗口(窗口 > 资源管理 > 版本控制)。 |
提交 | 将文件的当前状态提交到版本控制系统。 | 是 | 是 |
检出 | 允许对文件进行更改。 | 是 | 是 |
检出(其他) | 选择是检出资源及其 .meta 文件,还是仅检出资源,或仅检出 .meta 文件。 | 是 | 否 |
标记添加 | 将文件添加到版本控制中。 | 是 | 是 |
还原 | 放弃对打开的已更改文件的更改。 | 是 | 是 |
还原未更改 | 删除先前已检出但您未修改的文件的检出状态。 | 是 | 是 |
解决冲突 | 解决多个用户已更改的文件上的冲突。 | 是 | 否。冲突显示在版本控制菜单中,但您需要在 Plastic SCM GUI 中解决它们。 |
锁定 | 防止其他用户提交对文件的更改。 | 是 | 否。要在 Plastic SCM 中锁定或解锁文件,您必须在外部编辑特定的 Plastic SCM 锁定文件。有关更多信息,请参见有关 Plastic SCM 集成 的页面。 |
解锁 | 释放锁定并允许任何人提交更改。 | 是 | 否。要在 Plastic SCM 中锁定或解锁文件,您必须在外部编辑特定的 Plastic SCM 锁定文件。有关更多信息,请参见有关 Plastic SCM 集成 的页面。 |
差异 | 比较您计算机上的本地文件与服务器上的文件之间的差异。您可以选择仅比较资源文件,或比较资源文件及其 .meta 文件。 | 是 | 是 |
在某些版本控制系统(如 Perforce)中,版本化文件默认情况下是只读的,并且需要您在编辑它们之前检出它们(除非您已启用 脱机工作 设置)。当您从编辑器处理版本化资源时,检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表显示一个 检出 按钮,该按钮启用文件编辑。此外,项目设置广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他方面的行为。 更多信息
参见 术语表检查器有一个 检出 按钮,您可以使用它来检出特定的项目设置。
如果您有自定义编辑器脚本代码,用于禁用其他自定义编辑工具的只读资源部分,或者如果您手动写入版本化文件,请使用 AssetDatabase.IsOpenForEdit 和 AssetDatabase.MakeEditable API 来检查文件可编辑性并执行检出操作。
版本控制集成还公开了 Provider.PreCheckoutCallback 和 Provider.PreSubmitCallback C# 回调,用于自定义版本控制操作验证逻辑。
当 Unity 执行 保存项目 操作时,它会将您在编辑器中修改或标记为已修改的任何资源写入磁盘。然后,根据需要在版本控制中检出这些资源。这可能导致即使文件没有发生实际更改,资源也会被检出。当编辑器脚本在资源上调用 EditorUtility.SetDirty 而未检查其是否已修改时,这种情况最常发生。
注意: 如果 Unity 无法将您的更改提交到您的版本控制客户端(例如,如果服务器已关闭或出现许可证问题),它会将您的更改存储在单独的更改集中。
当您将更改保存到 .场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建您的游戏。 更多信息
参见 术语表 文件时,Unity 会自动签出该文件。如果您使用 Plastic SCM,它还会自动签出自动生成的资源,例如光照贴图。
您可以使用版本控制窗口查看更改列表中的文件。要访问该窗口,请导航到 窗口 > 资源管理 > 版本控制。
输出选项卡列出了所有等待提交到版本控制的本地更改。输入选项卡列出了所有需要从版本控制中拉取的更改。
右键单击窗口中的资源或更改列表以对其执行操作。要将资源在更改列表之间移动,请将其从一个更改列表拖动到目标更改列表的标题。
编辑器显示以下图标以可视化文件和资源的版本控制状态
图标 | 用途 |
---|---|
文件已在本地添加,并等待添加到版本控制中。 | |
文件已由其他用户添加到版本控制中,并等待添加到版本控制中。 | |
文件已在本地签出。 | |
文件已由其他用户远程签出。 | |
合并此文件时发生冲突,需要解决。 | |
文件已在本地删除,并等待在版本控制中删除。 | |
文件已由其他用户删除,并等待在版本控制中删除。 | |
文件尚未纳入版本控制。您可以使用 标记添加 操作手动添加文件。 | |
文件已被您锁定,其他用户无法修改。 | |
文件已被其他用户锁定,您无法修改。 | |
其他用户已检入此文件的新版本。使用 应用传入更改 操作获取最新版本。 | |
服务器正在请求此文件的版本控制状态,或正在等待响应。只有在您使用像 Perforce 这样的集中式版本控制系统时,才会出现此情况。 |