Unity3D 项目用 git 做版本控制

Unity 的项目是可以用 git 和其他的常见 SCM 软件来做版本控制的,但在项目里面要做些设置。

  1. 新建项目后,在 Unity 编辑器里选择 Edit -> Project Settings -> Editor,在 Inspector 里面做以下设置:

    1. Version Control - 设置为 Visible Meta Files,这样 .meta 文件就可以添加到版本控制中。
    2. Asset Serialization - 设置为 Force Text,这样项目中像 prefab 和动画等文件会以纯文本格式保存,在看修改的 diff 时会比较好用。
  2. 建立 .gitignore 文件,在这里有一份可以直接拿来用的版本。其目的就是为了排除像Library 和 Temp 这些 Unity 可以本地生成的东西。之后 git init 来创建 git repo 就可以了。

  3. 建立 .gitattributes 文件。在 Windows 上默认 git 配置会自动将文本文件中的 \n(LF)转换成 \r\n(CRLF),但是 Unity 保存文本文件的时候总是使用的 \n。这样有一个问题就是你修改了 .meta 文件以后就算再变回原来的设置,git 里面也会显示其被修改过了。因为 git 认为他是文本所以把里面的换行改成了 \r\n,但是 Unity 保存资源的时候又写的是 \n,这样 git 又认为它变了。在项目根目录建立 .gitattributes 文件如下:

    * text=auto
    # keep lf on unity files
    *.asset text eol=lf
    *.meta text eol=lf
    *.prefab text eol=lf
    *.unity text eol=lf
    

使用中比较要紧的一个问题是在提交新文件时,其对应生成的 .meta 文件一定要一起提交。如果你不这么做很多时候在运行时是没问题的,是因为 Unity 对这些没有找到 .meta 文件的资源会本地再创建一个。问题是 .meta 文件中有一个重要的东西是该资源的 UUID,Unity 用这个值来定位这个资源。如果两台机器上 .meta 文件不一样,会导致 Unity 找不到某个资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值