PlasticSCM版本控制系统的基本使用教程

0 前言

也不是说没有PlasticScm就不能搞团队开发,而是很明显地,Plastic会显著有利于团队开发,提升合作效率。

不过离谱的是,中文网上还没有一个比较好的小白保姆教程,为了工作方便,我决定自己写一个。

经过我好几天的查找资料,疯狂试错(指建库删库循环测试三十多次),潜心研究,我不经感叹

Unity你怎么还不到倒闭啊!

所以,为了让大家少走亿点弯路,我在这里写个简易教程,请大家阅读。

1.0 如何拥有一个Plastic SCM

首先你要玩Unity

首先你要去下载一个PlasticHub

安装一路默认就行,打开后你会看到以下界面

PlasticSCM版本控制系统的基本使用教程_第1张图片

UnityID登录就行。 

然后回到我们的UnityHub。

UnityHub中有项目和云端项目两种,其中的云端项目就是你的Plastic仓库。

2.0 如何启用PlasticSCM

首先,我们可以创建一个组织

创建组织的位置:Unity ID - 组织

建立一个组织后,打开UnityHub,点击左上角的偏好设置,在版本管理中将“自动设置PlasticSCM客户端语言为中文”这一选项去除(不打勾)

PlasticSCM版本控制系统的基本使用教程_第2张图片

不然你的PlasticSCM会一会儿中文,一会儿英文,极其蛋疼

然后我们创建一个容易加载的2D项目

PlasticSCM版本控制系统的基本使用教程_第3张图片

 启动右下角的版本管理,选择刚刚创建的组织,然后创建项目

创建好项目后,仔细检查下方窗口栏是否有Plastic窗口

PlasticSCM版本控制系统的基本使用教程_第4张图片

如果没有,可以点击上方Windows然后找到Plastic SCM这个选项 ,点击他便可以看到这个窗口了

此时我们再点击窗口下右边的小齿轮,点击Launch Plastic,我们的塑料就会展现在你的面前。

3.0 PlasticSCM的Tab窗口用途大致介绍

Pending Changes(待定更改)

这里面是你的工作对项目造成了哪些修改

Incoming changes(传入更改)

Changest(变更集)

Branches(分支)

4.0 Branches Explore(分支管理系统)详解(重点)

4.1 建立一个个人工作分支

打开Plastic后,我们先看Branch Explore(分支资源管理器)

PlasticSCM版本控制系统的基本使用教程_第5张图片

如图所见,有一条main主线。

为了避免main主线被直接修改,造成一有不慎,全盘皆崩,我们的工作必须在自己的工作分支上进行

所以,我们不妨先创建一个工作分支。

因为改变工作分支需要Pending Changes内没有东西,所以我们先把当前默认工作分支的main的内容上传

首先我们回到Unity的Plastic小窗口,在Pending Changest窗口中,可以看到他已经帮你选中了要上传到Item

(也就是对项目造成的修改,)

在下方窗口栏中,填入改动内容的描述(不填会被打),示范如下

PlasticSCM版本控制系统的基本使用教程_第6张图片

之后点击Checkin Changes,就完成了对main分支的一次Push(推送) ,此时main里面就有东西了。

完事后我们点击Changest,你就可以看到你的推送记录了

 回到Plastic的Branch Explore,选中main,让他变绿,然后点击鼠标右键,点击“Create branches from this changes”,得到下框

PlasticSCM版本控制系统的基本使用教程_第7张图片

填入名称和介绍,左下角勾上,然后create

 PlasticSCM版本控制系统的基本使用教程_第8张图片

 一个空的个人分支诞生了! 

 此时,我们回到Unity,再看到Pending Changes,随便加点东西并Check in

PlasticSCM版本控制系统的基本使用教程_第9张图片

回到Plastic,点击左上角的刷新键,我们的个人分支就完成搭建了。

PlasticSCM版本控制系统的基本使用教程_第10张图片

4.2 文件变化对比查看 

Plastic可以很方便的查看文件的对比,虽然显然没有GitHub方便……

如何使用这一功能呢?

我们不妨创建一个文件夹,再随便创建一个东西,比如macteria吧。

PlasticSCM版本控制系统的基本使用教程_第11张图片

 在Pending Changes里我们就可以看到我们的改动,我们check in

之后我们对其中的Fiction进行调整,ctrl+s保存后,我们回到Pending Changes,发现修改出现了。

PlasticSCM版本控制系统的基本使用教程_第12张图片

 鼠标右键选择Diff或者Ctrl + D,就可以查看到底有哪些改动

PlasticSCM版本控制系统的基本使用教程_第13张图片

 完事后,我们填入描述,Check in。

4.3 合并任务到main主线

我们回到PlasticSCM的Branch Explore,可以看到你的工作分支上有多个节点,这是你辛苦劳动的成果

PlasticSCM版本控制系统的基本使用教程_第14张图片

 我们选中分支中最新的节点,这里强调一下容易搞错的地方,尽管PlasticSCM中的箭头都往左边指,但事实上,最新的节点在最右边。

右击,选择“Merge from this changest to……”,

注意:有“Merge from this changest ”和“Merge from this changest to”两条命令,不要搞混了!!!!!

然后出现此对话框

PlasticSCM版本控制系统的基本使用教程_第15张图片

选择main主线,点击OK。然后会出现以下界面

PlasticSCM版本控制系统的基本使用教程_第16张图片

可以看到左上角提示0/0 file conflicts to resolve(没有冲突待解决),所以我们可以直接Checkin merge!

在跳出来的窗口中填入描述,点击OK,就可以看到我们的分支与main主线成功合并了。

PlasticSCM版本控制系统的基本使用教程_第17张图片

 很好,你学会了最简单的分支合并操作!

4.4 合并中的冲突

你已经学会了最简单的分支合并,但是事实上的团队开发是相当复杂的,

比如别人的工作需要修改的物件和你所需要修改的重合了,这就会造成大量的问题,稍有不慎,项目就得回溯,一天的工作全部白搭。

所以,我们必须掌握“如何处理合并中的各种冲突”这一技能

PlasticSCM版本控制系统的基本使用教程_第18张图片

 如上图所示,

S是source,表示最新的改动

D是destination,表示合并的目标

B是Base,是S和D的共同起源

R是resault,是S和D的合并结果

请记住以上简写是什么意思

S和D都修改了bar.c这个文件,那么他们在合并到R的时候,就会出现冲突。

如何解决这些冲突呢?我们有两种办法,第一种是自动解决问题,第二种是手动解决问题。

4.5冲突的自动解决规则

PlasticSCM版本控制系统的基本使用教程_第19张图片

如上图所示,我们用B对比S和D,只有在30行,D将

Print("bye");

 改成了

Print("hello");

所以这一行以D的改动为准。

而在70行,只有S将70行删除了。

所以这一行,以D为准。

所以二者都要改动,但改动的位置不同,PlasticSCM便会以以上原则对其进行自动合并。

但如果二者改动的行数有相同怎么办?

这就需要手动解决冲突了。

4.6手动解决项目冲突:智能合并配置

手动解决项目冲突前,我们先来看看冲突合并工具是如何配置的。

PlasticSCM版本控制系统的基本使用教程_第20张图片

 点击又上角的三个点,选中Preference,点击Merge tools,可以看到如下界面

PlasticSCM版本控制系统的基本使用教程_第21张图片

 在下方中,有一个路径,如果没有这个路径也没关系,可以去Unity手册中查看这个路径的配置方法,如下

PlasticSCM版本控制系统的基本使用教程_第22张图片

智能合并(Smart merge) - Unity 手册

4.7自动解决项目冲突实践+学习

我们先在Hierachy中随便创建点什么,比如我创建了一个Empty和一个Text,然后保存

PlasticSCM版本控制系统的基本使用教程_第23张图片

可以看到Pending Changes中出现了提示 ,我们Checkin

到PlasticSCM中可以看到新增了一个节点

PlasticSCM版本控制系统的基本使用教程_第24张图片

我们基于任务开发的模式,在main主线上新建一个工作分支 ,我们假装他是……角色移动的工作吧

PlasticSCM版本控制系统的基本使用教程_第25张图片

Create后,我们的工作分支就会切换到这个上面

PlasticSCM版本控制系统的基本使用教程_第26张图片

 回到Unity,重新加载场景,会发现,之前创建的东西都消失了

我们再次创建并Checkin,回到Plastic可以看到,新的分支设定完毕

PlasticSCM版本控制系统的基本使用教程_第27张图片

我们来试着进行合并

先将上次工作分支的最新节点与merge合并

 PlasticSCM版本控制系统的基本使用教程_第28张图片

成功后,再将Player Movement Branches与他合并

可以看到,有一个冲突阻止了我们的merge,这是因为我们的两个分支都对场景文件进行了修改,但这两个修改事实上并不冲突,

我们右击选择Merge select files ,冲突就自动解决了。

我们此时将workspace切换到最新的main节点,回到Unity就可以看到两个东西同时存在

PlasticSCM版本控制系统的基本使用教程_第29张图片

好了,你学会了如何自动解决冲突

4.8手动解决项目冲突实践+学习 

 以上我们学会了自动解决项目冲突,接下来我们来看看要手动解决的情况

我们先去到PlasticSCM的Branchs Explore,在当前main节点下新建一个分支,就叫测试1吧

PlasticSCM版本控制系统的基本使用教程_第30张图片

打开Unity,我们对Main Camera的Size进行调整 

PlasticSCM版本控制系统的基本使用教程_第31张图片

这里我们设定为1,然后checkin

然后我们又去到PlasticSCM,在main上再建一个分支 ,命名为Test2

PlasticSCM版本控制系统的基本使用教程_第32张图片

在Unity中将Main Camera的size设置为 2并Checkin

然后我们将测试1和测试2依次merge一下

当merge测试2的时候,就会出现冲突提示

PlasticSCM版本控制系统的基本使用教程_第33张图片

右击冲突选项,选择Merge select files 

PlasticSCM版本控制系统的基本使用教程_第34张图片

系统无法自动解决冲突, 于是就会弹出这个界面,,我们需要手动解决。

点击OK。

PlasticSCM版本控制系统的基本使用教程_第35张图片

可以看到B和S和D的代码对比,orthograph size有区别

我们看到最下面的R窗口

PlasticSCM版本控制系统的基本使用教程_第36张图片

 在这里面,我们可以手动选择我们要保留的改动,假如我们想保留蓝色的改动,我们就把其他改动给删掉

PlasticSCM版本控制系统的基本使用教程_第37张图片

可以看到上面绿了,此时我们保存并推出 

 PlasticSCM版本控制系统的基本使用教程_第38张图片

然后我们会发现冲突解决,Checkin 

PlasticSCM版本控制系统的基本使用教程_第39张图片 切换workspace到最新的main,就可以看到,Main Camera的size为4无误

PlasticSCM版本控制系统的基本使用教程_第40张图片

好了,你已经学会了如何手动解决冲突。 

5.0 托管项目到PlasticSCM

那么可能就有小伙伴要问了,如果我想把现在正在做的项目变成一个可以共同编辑的项目,我该怎么做呢?

PlasticSCM版本控制系统的基本使用教程_第41张图片

我们就以这个Homework为例 ,点击托管到版本控制系统,然后修改仓库名称并同意条款后,打开项目并Check in便可以了。

6.0 克隆一个项目

又有小伙伴可能要问了,如果我想要参与到我们团队的项目当中去,我该怎么做呢?

PlasticSCM版本控制系统的基本使用教程_第42张图片

我们打开Unity Hub,选择云端项目,点击右上角的“请选择组织”,就会出现该组织下各个组内公开项目的列表

点击右侧的下载按钮就可以参与到组织当中去了。

什么,你没有组织?那就赶紧让成员拉你进来啊!

以上便是PlasticSCM版本控制系统的基本使用教程啦,顺带问一句,Unity什么时候倒闭?

你可能感兴趣的:(Unity学习笔记,unity,游戏引擎)