用码云管理Unity工程 进行多人协作

1.软件版本

Unity版本 2019.2.14f1
git-gui版本 0.21
git 版本 2.20.1.windows.1
Notepad++(推荐)不要直接用记事本修改各类文本格式的文件

2.一次性设置

2.1.防止“Updating the Git index failed”

详情:Updating the Git index failed. A rescan will be automatically started to resynchronize git-gui
解决方法:
(1)在目标文件夹 - 右键 - git Bash
(2)输入config --global core.autocrlf false

事后发现这个是针对其他“Updating the Git index failed”现象的(windows/Mac)
Unity有其自身的解决方案

解决方法:见Unity设置-3.

2.2.Unity设置

参考了这位博主

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

  1. Version Control - 设置为 Visible Meta Files,这样 .meta 文件就可以添加到版本控制中。在提交新文件时,其对应生成的 .meta 文件一定要一起提交。如果你不这么做很多时候在运行时是没问题的,是因为 Unity 对这些没有找到 .meta 文件的资源会本地再创建一个。问题是 .meta 文件中有一个重要的东西是该资源的 UUID,Unity 用这个值来定位这个资源。如果两台机器上 .meta 文件不一样,会导致 Unity 找不到某个资源。
  2. Asset Serialization - 设置为 Force Text,这样项目中像 prefab 和动画等文件会以纯文本格式保存,在看修改的 diff 时会比较好用。
  3. 建立 .gitattributes 文件。在 Windows 上默认 git 配置会自动将文本文件中的 \n(LF)转换成 \r\n(CRLF),但是 Unity 保存文本文件的时候总是使用的 \n。这样有一个问题就是你修改了 .meta 文件以后就算再变回原来的设置,git 里面也会显示其被修改过了。因为 git 认为他是文本所以把里面的换行改成了 \r\n,但是 Unity 保存资源的时候又写的是 \n,这样 git 又认为它变了。在项目根目录建立 .gitattributes 文件如下:
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
# keep lf on unity files
*.asset text eol=lf
*.meta text eol=lf
*.prefab text eol=lf
*.unity text eol=lf
*.controller text eol=lf
*.anim text eol=lf
*.mat text eol=lf
*.preset text eol=lf

将所有报错的文件格式都添加
例如:“Updating the Git index failed”里有 abc.XXXX报错
那么就在 .gitattributes文件里再加一行 *.XXXX text eol=lf

码云加入项目

Git创建SSH KEY

  1. 右键任意文件夹 Git GUI
  2. Help-Show SSH Key
  3. 若无SSH 则按 Generate Key 然后复制
    若已有SSH 直接复制

码云端设置(添加个人SSH Key)

  1. 确保自己成为码云的一个项目中的管理员/成员

  2. 如下图

在这里插入图片描述
接下来就可以进行项目的Clone Pull Push了

用Git GUI协作管理项目

Git一般分为三步、Clone(第一次需要)、Pull(下载)、Push(上传)

Clone

Clone Master分支

第一步 任意文件夹右键(文件夹内无.git文件夹) Git GUI
第一步
第二步 打开码云项目页面 点击克隆、复制SSH
在这里插入图片描述
第三步 将复制的SSH黏贴到Source Location
Target Directory内填入目标文件夹(不能是已有的文件夹)

在这里插入图片描述
第四步 点击克隆

Clone其他分支

上面这的Clone过程 Git只会默认Clone Master分支
Branch——Checkout 可以发现Local Branch中确实只有master一个分支
在这里插入图片描述
如果还想要克隆其他分支 就得进行额外的操作

第一步
Branch——Create
在这里插入图片描述
第二步 如下图
在这里插入图片描述
成功 可以看到Checkout里面已经有dev了
在这里插入图片描述

Pull

1、Remote——Fetch from ——origin(或者其他名字)
在这里插入图片描述
2、Merge——Local Merge在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
成功

Push

1、修改本地文件
2、Rescan 发现本地文件进行了修改
在这里插入图片描述
3、Stage Changed 将工作区内容保存到暂存区
在这里插入图片描述
4、点击Signoff 并添加备注
在这里插入图片描述
5、Commit 提交 ----Push
注意分支名称对应
在这里插入图片描述
在这里插入图片描述
成功

无法Push

若出现如下情况 则说明云端项目文件与本地文件不同
需要先Pull 再Push
Pull的流程请参考上文
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值