赞
踩
Plastic SCM 教程 - Unity版本控制工具 使用经验 分享
最近公司使用了Unity版本控制工具 Plastic,遇到了很多坑,总结一下使用方法、注意事项以及可能出现的问题。强烈建议准备使用的朋友们先大致浏览一遍再安装,防止踩坑。
附一张Unity中plastic的界面效果,对开发和版本控制还是相当有帮助的:
Plastic SCM仓库搭建完毕,可以在unity中设置版本控制工具类型,方便直接在unity编辑器中处理资源:
官网:https://www.plasticscm.com/download
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
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901184136837.png#pic_center
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901184140827.png#pic_center
04 :删除顺序
如果要删除仓库和工作空间的时候需要先将工作空间切换到其他工作空间,然后删除工作空间,再删除仓库.
先删除了仓库会怎样?
05 :项目包含顺序
将Unity的项目创建到 repository的文件夹下面,或者将仓库创建到Unity的项目下面,然后打开Plastic.
06 :分支浏览器
打开Branch Explorer 会看到一个分支名字是Main,这是你的主分支,上面有一个小房子的标志,意思是你当前的工作空间在这个节点上,你的项目的内容处于当前节点,所有的修改都是当前节点所代表的.
07 :修改缓存区
打开Pending changes,里面是你最近对仓库的修改,现在假设你已经对你的项目做出了修改,你会看到Item下面有许多项,Plastic 默认会帮你勾选Unity的改变文件,当然你也可以全选,但是不推荐全选因为里面有很多不必要的配置文件.
08:提交修改
接下来再Checkin comments里面填写你这次改动的内容,然后选择 Checkin.同步到本地仓库
当然,也可以在unity编辑器中操作:
打开VersionControl面板
在VersionControl面板中,选择所有更改资源或者某些指定资源,右击选择submit(推到仓库)、Revert(回退取消更改)等
标记提交内容的大致信息,方便以后查看和回退,然后Submit提交至仓库
09 :和服务器同步
此时只是同步到本地,你需要打开分支浏览器,点击分支的空白处,即选择整个分支,然后右键, Push->Sync with Git,同步到服务器端(我这里是码云的仓库)。
10 :同步过后的冲突修改
如果你只有一个人刚才那一步会直接将你的内容上传到服务器,如果是多人合作那么上传完之后他会提示你是否有冲突,如果有冲突那么你刚才的步骤则不会讲你的数据上传至服务器,这个步骤会先把服务器的数据下载下来,然后你需要将你的本地数据和服务器合并并且解决冲突,这时再重复08步骤就会将你的数据上传至服务器(前提是其他人没有在此期间做出修改并且上传至服务器).
11:合并冲突
在你的工作空间的节点上右键选择Merge from this changeset,此时你应该保证你的Pending changes里面没有其他的改变了,如果还有一些没有勾选的配置文件你不想上传,可以在 preferences, DIff and merge 里面选择 Allow to merge with pending changes.
12 :设置合并工具
Plastic支持合并的文件类型包括日常的文本文件配置文件等,但是不包括特殊类型的二进制文件,你需要在配置里面添加Unity自带的工具,选择Preferences,Merge tools,在这里面添加Unity自带的工具UnityYAMLMerge,关于添加这个工具Unity官方的文档是这样的:https://docs.unity3d.com/Manual/SmartMerge.html.接下来的步骤是这样的,在这个界面选择Add,选择External merge tool,然后路径就是:<D:\Unity_Install\Editor\Data\Tools\UnityYAMLMerge.exe> 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”
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有两种忽略方式,第一种是在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,这个时候会出来三个选项,
第一个选项就是忽略该文件,这样无论你对这个文件或者这个文件夹的内部做出什么样的改变都会被忽略掉
第二个是忽略该文件类型
第三个是忽略该路径下的该文件,此处需要注意,当你对更改了该文件的路径的时候,他的忽略就会失效.
如果你忽略了一个文件夹,那么你在该文件夹下面的操作的文件都会被默认为忽略,但是当你将这个操作的文件移动到这个文件夹外面,那么这个默认的忽略就会被移除,你需要重新对这个文件进行忽略操作.
01:在服务器新建分支
02:在本地新建分支然后将更改放到新建的分支中
03:和服务器同步新建分支
如果需要建立一个稳定版本,则新建一个分支在码云,然后在本地同步先下拉分支,然后将稳定的版本保存到该分支,最后上传和服务器同步保存到码云.
01:Plastic 的配置文件夹是一个隐藏文件夹
02:正常项目操作
正常项目操作应该是在这个 .plastic 下面创建一个文件夹将项目工程放进去这样移动文件夹不会携带 Plastic 的配置文件夹
1、新建仓库
2、删除项目中的.plastic文件,新建工作空间,文件位置选择项目位置
3、检查忽略文件,把缺失的忽略文件重新加入ignored
4、如下图,把项目加入到source中
4、ChecKin
5、下拉合并
下载新的许可证,替换电脑里的许可证。
默认替换路径:C:\Program Files\PlasticSCM5\server\plasticd.lic
1、付费后,重新下载许可证,找到本地安装路径,替换。
2、免费的:申请个人版或者企业试用版(1个月)。
##1.工作空间删除错误
The settings you’ve introduced don’t match with the stored ones for branch/repo xxxx…Stored are:
重新安装或删除工作区,重新建立新的工作区,
##2.搜索不到本地服务器 localhost:8087
服务器没有搜索到
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
没有连接到同事的服务器,对方没有接收的连接服务器的信息
##5.The client authentiction mode (UPWorkingMode) doesn’t match the server authentication mode(NameWorkingMode).
客户机身份验证模式与服务器身份验证模式不匹配
删除下面添加的东西
##6.sha值问题
解决方法:
1、删除需要合并的冲突节点,直接同步
2、重建仓库
##7.许可证不能使用(不知道怎么出来的)
##8.Plastic显示保存不到本地
服务器连接的程老师那产生的 连接不到没有
##9.Unity没有显示修改的东西
在unity中重新connect
##10.plastic过期:
付费后,重新下载许可证,找到本地安装路径,替换。
默认安装路径:C:\Program Files\PlasticSCM5\server
##11.证书问题
如果你的服务器端的仓库是公开的,那么意味着所有人都可以下载.
如果你想对这个做出修改,然后提交到服务器,首先你要确定自己是否有权限,上面这个图片意思是你没有对该仓库的修改权限,确认你是使用了正确的账号和密码
##12.合并工具问题
这个是合并工具的错误,如果你和服务器发生了冲突,这个时候你在解决冲突的时候跳出了这个界面,那么应该是因为你对当前文件的合并使用了错误的工具,确认一下你当前合并文件的格式,然后在配置里面添加对应的工具.
当某个节点是绿色的虚线连接到你当前的工作空间所在的节点,这表示你有应该Checkin的文件没有提交,提交过后才能和服务器同步.
##13.预设丢失
当场景里面的预设体处于丢失状态时,大部分原因可能是本地没有该预设体文件的引用集合所代表的游戏物体.
##14.同步解决冲突后,出现不能checkin也不能Un Change的问题
原因:合并的两个人,有部分改动在ignore中,导致未完全合并
解决办法:打开PendingChanges下的Options,所有的冲突展示都勾选上,再进行合并checkin
##15.合并时,提示当前报错时,需要手动合并
##16.公网ip问题
通过路由器上网 想让外网访问我的电脑 ip
首先在你的路由器设置 DHCP服务器-静态IP地址分配-填入这台电脑的MAC地址和内网的IP地址。 转发规则- DMZ主机-选启用 填入上面分配的内网IP地址 保存 重启就行了。当外网访问你路由器公网IP地址时会直接访问你的这台主机。
前面的操作适用于unity所有版本。
更新 Hub 到 2.4.8 后,可以发现在Hub上能够一键安装Plastic。通过 Hub 在创建项目的时候将项目托管到版本后台,并为 Unity 安装好 PlasticSCM 插件和客户端应用。
(既然是用官方的云平台,肯定是要付出某些代价的,所以还是建议自己搭建仓库)
下面分享在Hub上使用Plastic scm的教程:
https://mp.weixin.qq.com/s/fSGVn_nqLSEa_XHkk2nwbA
选择 PlasticSCM 标签,查看远程仓库中的项目,点击云端图标进行 Clone。
持续更新中ing…
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。