unity学习笔记-协同开发

协同开发

需要的软件

在这里插入图片描述
这两个, 在网上下载安装就好了
然后在自己需要的盘符里新建文件夹,右键在这里插入图片描述
把这个文件夹设为git的本地仓库
然后在这里插入图片描述
pull,拉下项目,中间可能会要你填写自己的账号密码
没有问题的话会直接显示success的字样,然后就下拉成功了
在这里插入图片描述
这里也是可以的,一样点击pull
至于版本冲突的话在pull的时候会提示你哪些是不一样的,去修改替换删除就好了~
然后写完自己的代码后点击commit即可

这里需要注意,如果协同开发的人不多(比如两个人),可以直接在master分支里进行开发,不过需要在服务器上给协同开发的人开放maintainer权限,否则会有下拉拒绝的错误,如果项目人多的话一定要用分支,让主程最后再合并分支,以免重要的数据丢失~

次日更新
本地有内容更新之后需要在项目所在位置点击右键的gitsync
然后pull,先下拉云项目里的最新版本,然后解决冲突(目前还没遇到版本冲突的问题),然后需要先点击commit,不能直接push,因为commit个人理解就是先存到本地的仓库里,push上传的就是本地的项目内容,所以如果没有commit的话,默认就是你上次没改过的项目内容,即使push成功了也传的是以前的,不是现在的,所以需要先commit然后才能push,显示success说明上传成功就行了~

2021.5.26更新
出现了remote: HTTP Basic:Access denied fatal:Authentication failed for
这个问题
下面是解决方法

https://blog.csdn.net/qq_34817440/article/details/106432747

以及unity进行更新的时候,scene这个文件是无法像代码一样解决冲突的, 目前能想到的办法就是备份自己做好的scene,然后删掉git本地仓库里的scene,先拉取成功,然后进行commit和push,保证除了scene外都保持一致即可
然后就是看scene里多了什么,和其他人商量把scene新增的添加上去~
这里我感觉协同开发的话不同的人需要去不同的场景进行开发才能避免这个问题的出现,先记录一下吧~

2021.7.7更新

协同开发重大更新!!!

今天现场在前端大佬的的指导下,成功的完成了一个解决冲突,合并git项目的流程
这里讲一下大概的流程

第一步

先备份你现在已经做好修改的项目
第一步十分重要,可以说没有这一步,后面的步骤都是不存在的
但凡有过合并经验的大佬应该都知道小弟想表达的意思

第二步

右键你备份好的项目,点击小乌龟在这里插入图片描述
然后小乌龟子级的pull
这里和拉新项目没有啥不同
意思是从远端拉下新的项目
然后就会出现
在这里插入图片描述
这个警报
不要慌

第三步

commmit
这一步的意思是将原先本地的项目更新成现在你修改后的项目的内容。然后再把现在修改后的项目作为本地最新的项目
这一步一般是不会有问题的

第四步

这一步可以是直接pull,也可以先push
先push的话你会发现push失败,因为本地的项目已经更新了,已经和很久之前你从远端拉取的项目不相同了,git检测到这两个不一样(也即是没有解决冲突)就会直接提示你你还没有解决好冲突,你还是要走到pull
这一步,那为什么还要先pull,这一步的操作可以帮助我们更好的理解git运行的原理(至少我是这么一来才明白的)
这一步pull的时候,就会出现resolved这个选项
这一步就看到希望了,这一步就可以让git去帮你把出现了冲突的内容以左右两版的形式呈现出来,你就可以知道远端的项目和你现在的项目里的不同了,如果是脚本代码的话,可以直接在那上面进行手动的解决,如果是其他的,如资源或者项目之类的内容,你可以和协同开发的同事商量用谁的,然后右键那个冲突,上面可以让你选是用远端的版本还是你现在本地的版本,选了之后git就会把另一个版本的给去掉,其他的也是如此,如果有不是脚本代码和资源的文件,尽量和同事商量好后再做决定(不然选错了把别人辛辛苦苦做好的内容替换掉了就gg了)

第五步

这一步我没记错的话,应该还是要先commit一下,把解决了冲突的版本更新到本地项目里,这样再push的时候git就不会提示冲突的警报了
没错,按照逻辑来说这个思路是对的

第六步

push,这里除去网络的问题,应该是直接就会success的了

至此,有关协同开发的内容基本写完了,开发团队较小,还没有需要分支的操作,看后面有没有机会到这一步把,有的话就接着更新
加油~

更新

2021.7.21更新
当在pull的时候出现了失败的情况,有两种可能,第一种是前面说的代码冲突,第二种是分支没有选上,小弟前几天合并的时候一直pull失败,后面给同事看了之后说是分支没有勾选的原因
初步估计是当时备份的时候不小心弄掉的~果然写代码不能掉以轻心

更新

2021.8.2
小弟在协同开发的时候又给自己挖了个坑,就是地编在设置场地的时候,是我帮他创建的项目,使用的是unity帮我们搭建好的urp环境,但是我们原本的项目是用的标准3d的环境,虽然可以通过下载urp相关环境去实现urp的一些功能,但是越往后越发现这样的环境和原生就是urp环境的项目差距越大,不论是打光还是特效方面都不能百分之百的还原
所以小弟我只给你忍痛新建了一个项目,把原来的资源和功能全部迁移到了标准的urp项目里
解决了项目最根本的环境后,要解决如何同步到git里让同事也共享当前的项目进度了
由于现在是新的项目,git的内容不一致,所以小弟我是完全不知道应该怎么办了
不过另一个相对比较有经验的同事琢磨出了一个办法,这里简单介绍一下,就是把之前的项目的.git文件放到现在项目里,欺骗git让他以为现在的这个项目就是之前的那个项目,然后让他和之前的流程一样走下去,解决冲突合并然后推送
不过由于小弟的疏忽,在这之前已经pull了一次,所以那个项目里的git已经是最新的了,他只能commit和push
所以我们又想到了一个办法,就是让同事重新上传一个版本(但是里面需要记录所有值钱修改过的地方的内容做个标记,比如添加多一个注释都是可以的)
然后后面的方法也是一样的
最后经过两天的努力,我们的项目终于成功的同步了~
因为这个方法不一定正规,所以就不做过多的说明了,只是记录下这个思路

2021.8.4更新

在和同事合并代码的时候出现了一个问题,就是我两的项目环境不太一样,详情在urp的那个帖子里,所以为了实现需求,更新使用了我的项目里的配置信息,里面包括了我的vs内容,这样就导致了一个问题
同事在pull解决了冲突之后,重新打开项目的时候,出现了下面的问题
在这里插入图片描述
如图,大项目里的所有小项目全部都是不兼容的状态
不管怎么重新生成和重新打开都解决不了这个问题
后面我是尝试了下面的手段,第一个就是重新打开unity编辑器,无效,然后重新设置了unity和vs的关联,无效
然后使用了我的项目去打开,无效,甚至还会有更奇怪的bug出现
最后同事发现可能是两个项目之间缺少了一些内容,导致了在同步的时候出现了异常,于是抱着试一试的态度,他在vs里右键项目里的安装缺少内容,等待安装之后
我们重新尝试了重新加载项目
然后惊奇的发现不兼容的提示就没了
然后后面的如法炮制
只是这样还不够,因为这样之后代码智能提示还是没有出来,我们试着在编辑器里重新设置了一下vs,发现就可以了
个人估计重新打开vs项目应该也是可以的
不过已经完成了就没有去再尝试了
解决~

2021.8.5更新

昨天和同事的项目合并了之后,打开项目运行时发现是没有问题的
但是在今天重新打开的时候,打开代码准备接着整活的时候发现monobehaviour爆红了
直接提示vs和unity失去了关联
不管是更新了vs还是刷新unity都没有
直到看到下面的这个帖子

https://blog.csdn.net/qq_34593121/article/details/87918556

借鉴了他的解决思路
先直接吧整个和代码相关的文件夹在vs的解决方案视图里右键从项目中移除
然后右键在项目之中
等待一下然后查新打开vs就可以了~
这个问题我感觉可能是同事那边更新了一些内容到vs里和我的不兼容所以失去了联系
通过这个办法重新让项目代码和我的unity链接上
记录一下~加油

2021.9.18更新

有关下拉同事代码后,c#项目里有关unity的引用全部报红但不影响程序运行的问题
这个问题只需要在c#找到解决方案,找到对应的项目根目录,右键下方的卸载项目,然后重新右键重现加载项目即可~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淳杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值