如何在 Unity 中使用 git/version 控件

How to use git/version control with Unity

Unity和git的正确用法是什么?

如果我推送我对场景和项目所做的更改,然后其他团队成员拉取这些更改,他们将无法正确合并这些更改,因为场景是二进制文件。

那么我们如何在统一的基础上开发并作为一个团队使用版本控制?

我正在使用 Unity 5.6.2。

您可以强制 Unity 将资产和场景序列化为基于 YAML 文本的文件,这应该可以解决您与 Git 的合并问题。此设置可以在 Edit > Project Settings > Editor 菜单下找到。然后将 "Asset Serialization" 设置设置为 Force Text,这将允许您使用 Unity 的 YAMLMerge.

合并场景

请注意,根据项目大小,更改此设置时重新导入所有内容可能需要数小时,并且必须在每个客户端上完成。您还可以采取其他额外措施来改进 Unity 和 Git 的工作流程,我建议您查看 David Douglas 的 this excellent post,它更深入地介绍了一些您可以使用的方法在同一个场景上工作,并在您完成所有里程碑后合并您的更改。

还有 this good Unity Answers post 讨论了不同资产序列化方法的优缺点,您可能希望在采用其中任何一种方法之前了解一下。