Unity PlasticSCM 详解
梚辰 2022.5.5
未经授权禁止转发
1. PlasticSCM使用简介
如何启用Plastic SCM项目
- 新建项目并启用PlasticSCM
- 右上角 > launch plastic打开客户端
- 将看到远程仓库里的项目main主线以及自己的branch分支
- branch分支作为工作分支,避免主线内容被修改
- 勾选待提交修改,在pending changes窗口添加描述,并check in提交
- changesets看到提交历史,同时显示在客户端工作分支上
- 托管现有项目到Plastic SCM
- 现有项目 > 右侧更多操作 > 托管到PlasticSCM
克隆远程仓库项目
- PlasticSCM > 选择项目 > 右侧云下载
- 在项目列表中找到项目 > 打开项目参加团队协作
- 打开客户端查看自己克隆出的项目分支
远程仓库与本地的同步(Pull&Merge)
-
Pull from main(拉取团队最新修改到本地)
-
打开客户端,选择main主线分支
-
在main主线的最新节点上点击右键,选择merge from this changeset
-
通过可视化界面轻松查看修改的内容
-
输入描述,点击check in,main主线的分支就会被拉取到自己的分支以及workspace(工作空间)上
-
在客户端里显示绿色线条代表拉取情况
-
-
Merge to main(本地修改推到远程仓库主分支上)
-
在pending changes里点击check in提交修改
-
打开客户端,在branch分支上点击右键,选择merge from this changeset to…
-
选择合并回main主线节点,输入描述,点击checkin,完成从branch分支到主线的合并
-
2. 详解分支与合并
分支管理器
使用分支管理器:
-
分支开发,确保主线功能稳定
-
分支节点图
- 一个圆点表示一个ChangeSet
- 绿色箭头表示分支合并,蓝色箭头代表迭代的来源
- 房屋表示工作区,即目前所编辑的项目版本
“任务分支”开发模式
-
基于任务创建分支:将任务与开发分支对齐,流程清晰,让每一个任务走完严格的开发审核测试流程
-
也可以不基于任务创建分支:新建一个版本作为分支,大家都工作在此分支上,开发完成后再回到主线分支中
提交改动与合并
- 每次改动都会显示在改动列表中,输入描述,点击checkin即可提交
- 若继续改动并提交,PlasticSCM依旧会保存在当前分支中
- 在改动的文件列表中,选择文件并选择右键菜单中的diff命令可以察看文件变化( ctrl+D 也可)
- 打开分支查看器,可以查看上传的changeset
- 完成所有修改后,即可将分支合并到main分支(具体见上文)
冲突处理
-
什么是冲突
-
冲突:本次改动与合并目标修改同一文件
S (source):最新改动
D (destination):合并目标
B (base):S,D共同的来源
R (result):合并结果
S修改了 C bar.c文件,D中原本有C bar.c文件,合并出现以谁为准的问题 -
自动解决原则:如果合并目标和本次修改没有对文件里的同一处进行修改,则自动采用最新修改
-
若S和D都对相同地方进行改动,则需要人工处理
-
-
配置prefab文件的冲突工具
-
打开客户端,选择Preferance > Merge tools > MULTIPLE_TOOLS
-
Edit > 选择与Unity对应的合并工具 > 在Unity安装目录下找到UnityYAMLMerge工具
-
复制地址并粘贴到Merge tool参数栏中
-
在地址后还要加上命令:
详细配置也可到Unity手册里的Smart Merge 界面查看
-
-
解决冲突
-
对于自动解决的冲突,点击Resolve conflicts即可自动解决冲突。
然后将工作区迁到最新的Changeset即可看到改动 -
对于需要手动解决的冲突,选择Merge with automatic conflict resolution, when possible
会弹出合并工具:
- 左边蓝色区:当前工作区的改动
- 中间黄色区:base节点的情况
- 右边绿色区:合并目标的改动
- 下边窗口:结果窗口,可以选择要保留的改动,将其他改动删掉
保存并退出合并工具
添加描述(写清楚改动内容)
将冲突解决后的结果合并到主线分支,改动即完成
-