git - 如何使用 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]?
还有更多的冲突,但太多了。
这是唯一没有与我的本地分支合并的文件。有没有办法让这个场景合并?
谢谢!
解决方案
我知道这不是一个很好的答案。使用场景和 git 时的典型最佳实践是一次只让一个人处理场景。我们一直在使用“场景帽”。
我们一直在做(独立工作室)是添加加载多个场景,所以关卡设计师有一个场景没有功能可以工作,而程序员(不需要很多时间处理一个场景)有一个“引导”场景,其中包含游戏功能。
推荐阅读
- blazor - Blazor JSInterop 保存文件
- flutter - 使用提供程序的 Flutter Button 状态管理
- typescript - mui 自动完成是什么样的 html 元素?
- arrays - 这些 Javascript 代码片段是如何工作的?
- java - 如何在反应式编程中初始化一个空的 Mono Class 对象?
- reactjs - 无法将新翻译添加到 nextjs next-translate 公共命名空间
- mysql - 存储过程在“in”语句中不使用字符串
- flutter - 在颤振小部件树中检测用户创建的小部件
- sorting - 使用 Game Maker Studio 2 中的快速排序算法对列表进行排序
- neural-network - TypeError: forward() 在尝试使用 ExplainerDashboard 时得到了一个意外的关键字参数“temp”