Unity,在GithubDesktop中使用UnityYAMLMerge解决合并时场景冲突的问题

最近在研究怎么提高Unity中多人合作的效率,本来打算使用Unity官方自带的版本管理系统,但是在不付费的情况下只有1G的云端储存空间,所以还是放弃了。然后决定打算使用Github,正好最近Github的私人仓库免费了,最多可以邀请三名collaborators,就是一共4个人。对于小项目来说也足够了。然而Git的使用对于向我这样的小白来说还是有点复杂,还好有GithubDesktop可以更加简单方便的使用Github,关于Github和GithubDesktop的使用这里就不多说了,网上有很多教程。

现在主要面临的一个问题是当两个人同时修改了场景然后再去合并的时候,就是同时了场景的文件。这时就会出现冲突,如果只是简单的使用VSCode或者什么去手动解决冲突的话,很容易会出现问题。经过一番搜索知道可以使用Unity自带的UnityYAMLMerge来进行智能合并,UnityYAMLMerge也可以提供给第三方调用,比如Git、SVN、SourceTree等等,网上有很多配置的方法。但是唯独没有GithubDesktop的用法。因为对这个本身不是很了解,所以花了几天时间终于实现了在Destop上的使用。其实也是特别简单。

1、设置

1.1、在Unity中设置序列化模式

在Unity界面的左上角 依次点击Edit => Project Setting => Editor
然后把Asset Serialization的Mode设置成Force Text,强制转换为文本
Project Settings页面

1.2、其他设置

1.2.1、设置.gitattributes

.gitattributes的位置
打开“.gitattributes”,在后面添加

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

1.2.2、设置config

config的位置
“config”文件在“.git”文件夹内,.git文件夹找不到的可能是因为没有显示隐藏文件,在“文件资源管理器”里选择显示隐藏文件即可。用记事本打开“config”,在后面添加

[merge]
tool = unityyamlmerge

[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<替换为UnityYAMLMerge的路径>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"

这里要注意<>以及里面的内容要替换为UnityYAMLMerge的路径。
UnityYAMLMerge会在Unity所安装的位置的 Editor => Data => Tools 里面,根据每个人安装的位置会有所不同
我的UnityYAMLMerge是在D:\Program Files\Unitys\2018.3.6f1\Editor\Data\Tools
这里要注意分隔符要使用 “/” 而 不是 “\”,复制下来的路径是“\”,要记得自己修改。否则在GithubDesktop会出现下图的问题没有使用“/”的情况
我最终添加的是结果是在这里插入图片描述
要记得地址后面还有UnityYAMLMerge.exe,最后一行后面的东西是github后来自己添加的,不需要理会。

2、合并测试

具体如何合并这里就不演示了,当两个人分别修改了场景,合并分支的时候出现冲突的时候会出现以下界面出现冲突
这时我们点击左下角的“Open in command line”,使用命令行打开。
输入“git mergetool”然后回车在这里插入图片描述
要留意这里输出的英文有没有提示错误,有的话根据错误提示找找原因,看看是前面哪一步没有做好还是其他的原因。
这一步完了之后打开Unity会提示你ReLoad,ReLoad完之后你就发现场景已经合并了
GithubDesktop的画面也变成了如下在这里插入图片描述
点击Commit merge就可以了,合并时在场景文件旁边会生成一个orig文件和对应的meta文件,手动删除即可。在这里插入图片描述
然后就可以继续其他的pull push之类的工作了。

主要参考的内容:
https://docs.unity3d.com/Manual/SmartMerge.html
https://nagachiang.github.io/tutorial-setup-smart-merge-for-unity-assets-with-git-chinese/
https://www.jianshu.com/p/9522f7e30ac4
关于GithubDesktop的使用:
https://www.jianshu.com/p/06a960d991aa
https://www.youtube.com/watch?v=qpXxcvS-g3g

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值