【发布时间】:2017-09-07 17:46:39
【问题描述】:
Unity 和 git 的正确用法是什么?
如果我推送我对场景和项目所做的更改,然后其他团队成员提取这些更改,他们无法正确合并更改,因为场景是二进制文件。
那么我们如何才能在统一的基础上进行开发并作为一个团队使用版本控制呢?
我正在使用 Unity 5.6.2。
【问题讨论】:
标签: git unity3d version-control unity5
Unity 和 git 的正确用法是什么?
如果我推送我对场景和项目所做的更改,然后其他团队成员提取这些更改,他们无法正确合并更改,因为场景是二进制文件。
那么我们如何才能在统一的基础上进行开发并作为一个团队使用版本控制呢?
我正在使用 Unity 5.6.2。
【问题讨论】:
标签: git unity3d version-control unity5
您可以强制 Unity 将资产和场景序列化为基于 YAML 文本的文件,这应该可以解决您与 Git 的合并问题。此设置可在 编辑 > 项目设置 > 编辑器菜单下找到。然后将“资产序列化”设置为 Force Text,这将允许您使用 Unity 的 YAMLMerge 合并场景。
请注意,根据项目大小更改此设置重新导入所有内容可能需要数小时,并且必须在每个客户端上完成。您可以采取其他其他措施来改进 Unity 和 Git 的工作流程,我建议您查看 David Douglas 的 this excellent post,它会更深入地介绍一些可以在同一场景中工作的方法,并且达到里程碑后合并更改。
还有this good Unity Answers post 讨论了不同资产序列化方法的优缺点,您可能希望在使用其中任何一种方法之前先看看这些方法。
【讨论】: