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