使用 Unity 外部版本控制系统
Unity 为便于集成的工程版本控制提供 了资源服务器 (Asset Server) 插件产品。如果出于某些原因无法使用 Unity 资源服务器 (Asset Server),它可以将工程存储在任何其他版本控制系统中,如 Subversion、Perforce 或 Bazaar。这需要对工程进行手动初始设置。
在检出工程之前,您必须要求 Unity 稍微修改工程结构,以便使其与存储在外部版本的控制系统中的资源兼容。若要完成此操作,可在应用程序菜单中选择元文件 (Metafiles),启用外部版本控制支持。这项操作将为资源 (Assets)
目录中的每个资源创建一个文本文件,并将 Unity 必要的簿记信息包含在内。这些文件名的首部分将是与其关联的资源的完整文件名,并以 .meta
为扩展名。在 Unity 内移动并重命名资源也将更新相关的 .meta
文件。但是,如果通过外部工具移动或重命名文件,请确保同步相关的 .meta
文件。
若要在版本控制系统中检出工程,应该将资源 (Assets)
和工程设置 (ProjectSettings)
文件夹添加至系统。库 (Library)
文件夹应彻底忽略 ― 使用外部版本控制时,它只是导入资源的本地缓存。
创建新资源时,请确保已将资源本身与关联的 .meta
文件添加至版本控制。
示例: 创建一个新工程,并将其导入至 Subversion 版本库。
首先,假设我们已经在 svn://my.svn.server.com/
有一个 subversion 版本库,并希望在 svn://my.svn.server.com/MyUnityProject
创建一个工程。然后,按照以下步骤,在系统中创建初始导入:
在 Unity 创建新工程,并将其命名为
InitialUnityProject
。可以在此处添加任何初始资源,或稍后添加。在元文件 (Meta files)
中启用退出 Unity(目的是为了确认已保存所有文件)。
在工程目录中删除
库 (Library)
目录。将工程目录导入至 Subversion。如果正在使用命令行客户端,这项操作就像从初始工程所在的目录:
svn import -m"Initial project import" InitialUnityProject svn://my.svn.server.com/MyUnityProject
如果成功,工程现在已经导入至 subversion,可以删除InitialUnityProject
目录。从 subversion 中检出工程
svn co svn://my.svn.server.com/MyUnityProject
检查资源 (Assets)
和工程设置 (ProjectSettings)
的目录版本。按住 Option 或左 Alt 键,启动 Unity,打开已检出的工程。打开工程将重新创建上述第 4 步中的
库 (Library)
目录。可选项:为没有版本化的
库 (Library)
目录设置忽略筛选器:svn propedit svn:ignore MyUnityProject/
Subversion 将打开文本编辑器。添加库 (Library) 目录。最后,提交更改。工程已经设置完毕,并准备就绪:
svn ci -m"Finishing project import" MyUnityProject