史上最全Plastic SCM - Unity版本控制工具使用经验分享

Plastic SCM 教程 - Unity版本控制工具 使用经验 分享


最近使用了Unity版本控制工具 Plastic,遇到了很多坑,总结一下使用方法、注意事项以及可能出现的问题。强烈建议准备使用的朋友们先大致浏览一遍再安装,防止踩坑。


文章目录

  • 一、正常安装使用顺序
  • 二、Plastic 文件忽略
  • 三、Branch 分支操作
  • 四、Plastic文件夹和项目文件夹配置
  • 五、仓库迁移方法流程
  • 六、许可证过期怎么办?
  • 七、操作注意事项及可能出现的问题


其中个别问题暂未解决,以后再补充,有错误的地方欢迎指正。
附一张Unity中plastic的界面效果,对开发和版本控制还是相当有帮助的:史上最全Plastic SCM - Unity版本控制工具使用经验分享_第1张图片


一、正常安装使用顺序

官网:https://www.plasticscm.com/download
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第2张图片

01 :安装选择团队版,Windows.
选择默认安装选项
一定安装到C盘
一定安装到C盘
一定安装到C盘
不装C盘Unity中检测不到Revision Control 工具

注册账号 申请团队版试用

02 :创建仓库和工作空间
安装完Plastic之后会让你选择是创建仓库还是加入一个已有的仓库,一般来说第一次都选择创建一个新的仓库,然后在该仓库下创建一个工作空间.

03 :一一对应
一个repository(存储库) 对应一个 workspace(工作区),这样在切换 Branch Explorer的时候容易切换
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901184132625.png#pic_center史上最全Plastic SCM - Unity版本控制工具使用经验分享_第3张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901184136837.png#pic_center史上最全Plastic SCM - Unity版本控制工具使用经验分享_第4张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901184140827.png#pic_center史上最全Plastic SCM - Unity版本控制工具使用经验分享_第5张图片

04 :删除顺序
如果要删除仓库和工作空间的时候需要先将工作空间切换到其他工作空间,然后删除工作空间,再删除仓库.
先删除了仓库会怎样?

05 :项目包含顺序
将Unity的项目创建到 repository的文件夹下面,或者将仓库创建到Unity的项目下面,然后打开Plastic.

06 :分支浏览器
打开Branch Explorer 会看到一个分支名字是Main,这是你的主分支,上面有一个小房子的标志,意思是你当前的工作空间在这个节点上,你的项目的内容处于当前节点,所有的修改都是当前节点所代表的.

07 :修改缓存区
打开Pending changes,里面是你最近对仓库的修改,现在假设你已经对你的项目做出了修改,你会看到Item下面有许多项,Plastic 默认会帮你勾选Unity的改变文件,当然你也可以全选,但是不推荐全选因为里面有很多不必要的配置文件.

08:提交修改
接下来再Checkin comments里面填写你这次改动的内容,然后选择 Checkin.同步到本地
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第6张图片

09 :和服务器同步
此时只是同步到本地,你需要到分支浏览器中找到整个项目然后右键, Replication,Sync with git,这个时候是同步到服务器端。
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第7张图片

10 :同步过后的冲突修改
如果你只有一个人刚才那一步会直接将你的内容上传到服务器,如果是多人合作那么上传完之后他会提示你是否有冲突,如果有冲突那么你刚才的步骤则不会讲你的数据上传至服务器,这个步骤会先把服务器的数据下载下来,然后你需要将你的本地数据和服务器合并并且解决冲突,这时再重复08步骤就会将你的数据上传至服务器(前提是其他人没有在此期间做出修改并且上传至服务器).
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第8张图片

11:合并冲突
在你的工作空间的节点上右键选择Merge from this changeset,此时你应该保证你的Pending changes里面没有其他的改变了,如果还有一些没有勾选的配置文件你不想上传,可以在 preferences, DIff and merge 里面选择 Allow to merge with pending changes.
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第9张图片
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第10张图片
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第11张图片

12 :设置合并工具
Plastic支持合并的文件类型包括日常的文本文件配置文件等,但是不包括特殊类型的二进制文件,你需要在配置里面添加Unity自带的工具,选择Preferences,Merge tools,在这里面添加Unity自带的工具UnityYAMLMerge,关于添加这个工具Unity官方的文档是这样的:https://docs.unity3d.com/Manual/SmartMerge.html.接下来的步骤是这样的,在这个界面选择Add,选择External merge tool,然后路径就是: merge -p “@basefile” “@sourcefile” “@destinationfile” “@output”,这段可以直接复制过去,不过前面的中括号里面的路径要改为你的Unity的安装路径里面对应的该工具的路径,这个细节上面的文档里面有.然后选择第三个选项 Use with files that match the following pattern:, 后面的框框里面填写的是文件的格式,这里应该填写.prefab,注意前面有一个英文的句号,然后用相同的方式增加一个.unity格式.
D:\Unity\Editor\Data\Toolss\UnityYAMLMerge.exe> merge -p “@basefile” “@sourcefile” “@destinationfile” “@output”
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第12张图片
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第13张图片


二、Plastic 文件忽略

http://blog.plasticscm.com/2014/11/configuring-ignored-items-on-your.html
在 ignore.conf文件中直接添加文件类型 可以直接忽略该类型的所有文件.

##在Pending changes 界面,有四种类型的修改
A:add,增加
D:delete,删除
M:move,移动
C:change,更改
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第14张图片

##忽略方式
Plastic有两种忽略方式,第一种是在Plastic中的工作空间忽略,就是上面的忽略方法.此时如果你是新添加的文件,文件的状态还有一个Check out 状态,那么你无法忽略,此时在Pending changes 里面还可以看到这个文件.并且在上传的时候会上传这个文件,所以新添加的文件想要忽略需要下面的操作.
在Unity中添加了新文件之后,在Version Control 里面可以看到你添加的问价,这个时候右键想要忽略的文件(当然也可以忽略整个列表),然后选择Revert,这样就会忽略新添加的文件而带来的改变,并且将这些文件的状态改为私有的,private。
在Plastic中的Pending Changes里面就不会看到这些改变,如果后续想要忽略这些文件可以执行第一种忽略方法.

02:Plastic的三个忽略选项

当你在Plastic的Workspace Explorer或者Pending changes选项卡中右键某个文件然后选择 Add to hiden changes list,这个时候会出来三个选项,
第一个选项就是忽略该文件,这样无论你对这个文件或者这个文件夹的内部做出什么样的改变都会被忽略掉
第二个是忽略该文件类型
第三个是忽略该路径下的该文件,此处需要注意,当你对更改了该文件的路径的时候,他的忽略就会失效.

如果你忽略了一个文件夹,那么你在该文件夹下面的操作的文件都会被默认为忽略,但是当你将这个操作的文件移动到这个文件夹外面,那么这个默认的忽略就会被移除,你需要重新对这个文件进行忽略操作.


三、Branch 分支操作

01:在服务器新建分支
02:在本地新建分支然后将更改放到新建的分支中
03:和服务器同步新建分支

如果需要建立一个稳定版本,则新建一个分支在码云,然后在本地同步先下拉分支,然后将稳定的版本保存到该分支,最后上传和服务器同步保存到码云.


四、Plastic文件夹和项目文件夹配置

01:Plastic 的配置文件夹是一个隐藏文件夹

在这里插入图片描述

02:正常项目操作
正常项目操作应该是在这个 .plastic 下面创建一个文件夹将项目工程放进去这样移动文件夹不会携带 Plastic 的配置文件夹


五、仓库迁移方法流程

1、新建仓库
2、删除项目中的.plastic文件,新建工作空间,文件位置选择项目位置
3、检查忽略文件,把缺失的忽略文件重新加入ignored
4、如下图,把项目加入到source中
4、ChecKin
5、下拉合并

史上最全Plastic SCM - Unity版本控制工具使用经验分享_第15张图片


六、许可证过期怎么办?

1、付费后,重新下载许可证,找到本地安装路径,替换。
默认替换路径:C:\Program Files\PlasticSCM5\server
(其实可以每个月注册新公司账号,然后蹭试用期,团队版试用期一个月呢,emmmm,我已经蹭了一年了)

七、操作注意事项及可能出现的问题

##1.工作空间删除错误
The settings you’ve introduced don’t match with the stored ones for branch/repo xxxx…Stored are:
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第16张图片

重新安装或删除工作区,重新建立新的工作区,

##2.搜索不到本地服务器 localhost:8087
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第17张图片

服务器没有搜索到
1、查看计算机的服务 里面的 Plastic的服务是否开启
2、防火墙导致无法连接,需要关闭windows防火墙
3、不要相信塑料的这个功能,它只能搜索到同一个网段的设备如172.16.118.xxx
开始以为网段不同,导致不同网段之间无法连接,后来发现直接输入目标的Ip地址和 端口就可以了

##3.cannot retrieve license information from the plastic scm server
服务器信息与之的服务器信息前不一样

##4.由于目标计算机积极拒绝,无法连接。127.0.0.1:8087
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第18张图片

没有连接到同事的服务器,对方没有接收的连接服务器的信息

##5.The client authentiction mode (UPWorkingMode) doesn’t match the server authentication mode(NameWorkingMode).
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第19张图片

客户机身份验证模式与服务器身份验证模式不匹配
删除下面添加的东西
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第20张图片

##6.sha值问题
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第21张图片

解决方法:
1、删除需要合并的冲突节点,直接同步
2、重建仓库

##7.许可证不能使用(不知道怎么出来的)
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第22张图片

##8.Plastic显示保存不到本地
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第23张图片

服务器连接的程老师那产生的 连接不到没有

##9.Unity没有显示修改的东西
在这里插入图片描述

在unity中重新connect

##10.plastic过期:
付费后,重新下载许可证,找到本地安装路径,替换。
默认安装路径:C:\Program Files\PlasticSCM5\server

##11.证书问题

史上最全Plastic SCM - Unity版本控制工具使用经验分享_第24张图片

如果你的服务器端的仓库是公开的,那么意味着所有人都可以下载.
如果你想对这个做出修改,然后提交到服务器,首先你要确定自己是否有权限,上面这个图片意思是你没有对该仓库的修改权限,确认你是使用了正确的账号和密码

##12.合并工具问题
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第25张图片

这个是合并工具的错误,如果你和服务器发生了冲突,这个时候你在解决冲突的时候跳出了这个界面,那么应该是因为你对当前文件的合并使用了错误的工具,确认一下你当前合并文件的格式,然后在配置里面添加对应的工具.

当某个节点是绿色的虚线连接到你当前的工作空间所在的节点,这表示你有应该Checkin的文件没有提交,提交过后才能和服务器同步.

##13.预设丢失
当场景里面的预设体处于丢失状态时,大部分原因可能是本地没有该预设体文件的引用集合所代表的游戏物体.

##14.同步解决冲突后,出现不能checkin也不能Un Change的问题
原因:合并的两个人,有部分改动在ignore中,导致未完全合并
解决办法:打开PendingChanges下的Options,所有的冲突展示都勾选上,再进行合并checkin
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第26张图片

##15.合并时,提示当前报错时,需要手动合并
史上最全Plastic SCM - Unity版本控制工具使用经验分享_第27张图片

##16.公网ip问题
通过路由器上网 想让外网访问我的电脑 ip
首先在你的路由器设置 DHCP服务器-静态IP地址分配-填入这台电脑的MAC地址和内网的IP地址。 转发规则- DMZ主机-选启用 填入上面分配的内网IP地址 保存 重启就行了。当外网访问你路由器公网IP地址时会直接访问你的这台主机。

你可能感兴趣的:(团队开发工具Plastic,Unity开发,C#,unity3d,git,unity)