设置SourceTree以使用UnityYAMLMerge合并Unity3D场景

4
我按照这里的指示尝试设置Unity场景合并。其中关于SourceTree的说明在底部。我将由Unity提供的合并工具作为自定义合并工具添加,但当我尝试将改变场景的分支与我的分支合并时,会出现冲突而合并失败。我对此完全不了解,不知道该怎么办。是否可能自动处理,还是需要在终端中编写一些内容?如果需要,我该写些什么来解决Unity场景中的冲突呢?我也使用Unity3d的个人版本,如果这有影响的话。
编辑:我已经成功运行了合并工具,但现在它显示“错误解析文件...文件不是有效的文本序列化YAML文件”。
问题是我确定编辑器设置中的资源序列化设置为强制文本。
2个回答

4

在Unity中合并场景的最佳方法之一是使用以下工具组合:

  • SourceTree - 一个源代码管理工具(git)
  • UnityYAMLMerge - 内置于Unity中的工具
  • Meld - 自定义合并工具

主要思路是告诉Unity使用UnityYAMLMerge解析场景代码并将其传递到Meld以进行合并。

enter image description here

下面的视频详细展示了这个过程:Unity, SourceTree and Merge Conflicts


嗨,我尝试使用这种方法在我的示例Unity项目中运行成功。但是,如果我在我的实际项目中尝试相同的操作,则SourceTree中的Launch External Merge工具不会打开。场景文件大小是否有限制?在我的示例项目中,场景大小为23KB,而在我的实际项目中,场景大小为10MB。此外,此设置仅适用于Windows操作系统,而不适用于MAC OS。我的Unity版本是2017,SourceTree版本是2.3.5。 - leelavinodh

2
使用“启动外部合并工具”:

菜单选项的截图


我已经解决了,但为了未来的人们,我会接受你的答案。 - Uri Popov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接