孙广东 2015.6.14
在UNity5.x之前的版本, 我们用文本编辑器如 sublime text 打开.unity .prefab时是可以看到 yaml格式的文本内容, 但是在 UNity5.x 当在察看.unity .prefab文件时已经变成二进制的文件了。
先来看看Unity为我们提供的内部工具:
设置UnityYAMLMerge用于第三方工具
Unity 编辑器附带UnityYAMLMerge 工具 ;假设Unity装在标准的位置,,将会看到 UnityYAMLMerge 的路径:
C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exeorC:\Program Files (x86)\Unity\Editor\Data\Tools\UnityYAMLMerge.exe
……有 Windows 和
/Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge
……有 Mac OSX (使用从 Finder显示包内容命令,以访问此文件夹)。
您可以从命令行 (您可以看到完整的使用说明通过运行不带任何参数) 运行 UnityYAMLMerge 作为一个独立的工具。常见的版本控制系统的设置说明如下。
P4V
然后,按照同样的程序,以添加.prefab扩展名。
Git
将以下文本添加到您的.git或.gitconfig文件中:
[merge]tool = unityyamlmerge[mergetool "unityyamlmerge"]trustExitCode = falsecmd = ‘<path to UnityYAMLMerge>’ merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"Mercurial
下面的文本添加到.hgrc文件中:
[merge-patterns]**.unity = unityyamlmerge**.prefab = unityyamlmerge[merge-tools]unityyamlmerge.executable = <path to UnityYAMLMerge>unityyamlmerge.args = merge -p $base $other $local $outputunityyamlmerge.checkprompt = Trueunityyamlmerge.premerge = Falseunityyamlmerge.binary = FalseSVN
您的~/.subversion/config文件中添加以下内容:
[helpers]merge-tool-cmd = <path to UnityYAMLMerge>TortoiseGit <path to UnityYAMLMerge> merge -p %base %theirs %mine %merged
然后,按照同样的程序,以添加.prefab扩展名。
PlasticSCM <path to UnityYAMLMerge> merge -p “@basefile” “@sourcefile” “@destinationfile” “@output”
然后,按照同样的程序,以添加.prefab扩展名。
SourceTree
接下来我们就来看看 UNity 做
感兴趣的读一读这篇文章:
最后呢给大家介绍一个Unity的插件: UniMerge
关于他的文档在这里,大家可以看一看:
特别是冲突窗口的合并功能 也是挺好的。
感悟了不同的人生。凌晨,随着滑轮接触地面,