Unity Meta文件 在项目版本管理中的探究

前情周知,meta文件最主要的guid,给unity的依赖关系提供凭证。同时也存了meta文件宿主对应的Imputer的设置信息。如果有abName也会存在meta里。

如图一个png文件的meta:

meta在什么时候会改变:

我测试了同版本和不同版本,手段是删除宿主。

步骤如下:

在一个空项目中拖入png

 删除meta,再重新生成meta

 guid没变。

宿主也删除,且重新拖入

 

 guid还是没变。

关闭unity删除meta,重新用相同版本打开。

还是没变;

unity删除宿主,关闭unity,在没打开unity的时候拖入。

发生改变 .

unity删除宿主,关闭unity,在unity打开完成的时候拖入。

同样发送改变。

关闭unity,换版本打开。

没有变化。

删除meta,生成meta

 
 序列化版本发送变化。 

然后就基本和同版本的一样了。

改变目录,只改变宿主,不动meta:

 guid没有变化

我在unity关闭的情况下换了图

但是名字没改,guid没变,这时候删除meta,重新生成,guid还是没变。

所以目前的结论,在unity打开状态的时候,untiy基本可以做到guid一致。但是在关闭状态下的某些操作(比如让unity知道了真实目录和他记录的不一致了,是不是有一种这样的情况),就会导致guid不一致。

这样的话,假如组里有人先移动了资源文件夹,但是这次操作不是复制,而是剪切,这样就会出现新位置的meta没变。可他确认为剪切是错的,应该复制,又在git里对改变了的文件revert了git认为删除的文件。这样在提交版本的时候就会出现两个一模一样的guid,也同时导致了别人pull下来的meta因为guid重复重新生成新的guid。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值