首页 > 解决方案 > 如何使用 Unity Smart Merge 合并我的 Unity 场景?

问题描述

我正在尝试使用 Smart Merge 合并我的伙伴和我一直在处理的 Unity 场景。我的其他资产和预制件很好地解决了与 Smart Merge 的冲突;但是,一个场景根本没有合并。

在我的 .git/config 文件中,我添加了

[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = 'C:\\Program Files\\Unity\\Editor\\Data\\Tools\\UnityYAMLMerge.exe' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"

我还包含一个 .gitattributes 文件,其中包含

*.unity binary
*.prefab binary
*.asset binary

我已将资产序列化设置为“强制文本”,将版本控制设置为“可见元文件”。

我们的预制件和其他资产合并得很好,但我们的场景之一根本没有合并。

在终端中运行git mergetool命令时,它会显示此指定场景的冲突,但最后会返回:

Left  563852304.Light.m_Color.r add as 0.8962264
Right 563852304.Light.m_Color.r add as 0.9433962
Left  610301896.GameObject.m_IsActive add as 0
Right 610301896.GameObject.m_IsActive add as 1
Left  610301898.Transform.m_LocalPosition.x add as -13.07
Right 610301898.Transform.m_LocalPosition.x add as -14.31
Left  610301898.Transform.m_LocalPosition.y add as 2.6
Right 610301898.Transform.m_LocalPosition.y add as 2.14
Left  610301898.Transform.m_RootOrder add as 8
Right 610301898.Transform.m_RootOrder add as 7
Left  869912137.Transform.m_LocalPosition.x add as -7.36
Right 869912137.Transform.m_LocalPosition.x add as -7.333
Left  869912137.Transform.m_LocalScale.x add as 4
Right 869912137.Transform.m_LocalScale.x add as 4.0070143
Conflict handling:
Xmas-Prototype-01/Assets/_Scenes/InitScene.unity seems unchanged.
Was the merge successful [y/n]?

还有更多的冲突,但太多了。

这是唯一没有与我的本地分支合并的文件。有没有办法让这个场景合并?

谢谢!

标签: gitunity3dmergescene

解决方案


我知道这不是一个很好的答案。使用场景和 git 时的典型最佳实践是一次只让一个人处理场景。我们一直在使用“场景帽”。

我们一直在做(独立工作室)是添加加载多个场景,所以关卡设计师有一个场景没有功能可以工作,而程序员(不需要很多时间处理一个场景)有一个“引导”场景,其中包含游戏功能。


推荐阅读