使用vs2019配合github进行小组协同开发
序言
在每一次进行课程大作业的时候,老师都会要求小组内完成,每当这时候,在写项目的过程中以及最后整合的时候就可能出现各种意外,比如写的过程中,有某个函数需要根据你写的功能进行微改,让程序更好的执行,但是这个函数确实另外一个人建的,这时候你就要通知他去改相关的函数,但是他不一定理解你的意思,改完之后还是差点什么…又或者最后整合的时候,命名空间啊,或者配置文件的一些细微差异导致整合后的项目无法运行,那么就又要改bug…就离谱…
所以嘞,还是vs+github好用!!直接共同操作一个项目!
准备
vs2019
github账号以及仓库
正式开始
安装github扩展
打开vs2019,选择继续但无需代码
然后安装github的扩展,(扩展-》管理扩展)为接下来的登录以及协作开发做准备
然后联机搜索github
然后点击下载,下载完成后,会要求你退出vs,然后会自动安装
可能出现的问题:
- 联机搜索扩展一直在检索信息:解决方法,科学上网会快一点,或者等一会试试
- 退出vs后没有开始自动安装:解决方法,更新vs到最新版本
在左下角,找到开始,找到Visual Studio Installer
点进去,更新最新版本就好了
然后再重新执行安装github扩展这一步
项目负责人创建项目
打开vs,继续但无需代码,找到团队资源管理器(在菜单栏的视图中),然后
在github那个地方,连接到你的github
然后再本地git存储库,新建一个本地库,例如ghtest
然后算计新建的ghtest
进入这个主页
在解决方案哪里,新建一个项目,比如wpf吧
然后就建好了本地项目,那么我就就要把这个项目发布到github上去
所以回到团队资源管理器这里,点击同步
选择发送到github
专用存储库也就是你的私人仓库,这个看个人需求吧
发布!
然后我们就可以在github上看到这个库了
项目到此就已经创建成功了
团队成员协同开发
在项目负责人已经发布库之后,团队成员就可以登录自己的github账号,把这个库给fork到自己的仓库中,如果这一点不懂的话,百度一下,很简单的;然后进入vs,登录github账号,这个步骤在上面项目负责人创建项目这一步有,然后在团队资源管理器主页面,选择克隆到本地存储库
第一个是库的链接,输入你fork的地址
第二个是你自己本地存储库的位置
然后克隆
之后你就会发现出现了这个库,然后双击ghtest,
开始编程吧
提交修改到远程服务器(自己的github账号)
在对团队项目进行编程修改之前,建议更新到最新版本,养成好习惯(这一步暂时不懂没关系,先放一下)
编程,修改,码代码!!!…
所以我新建了一个文件aaaa,代表我对这个项目进行了更改
(这个地方可以切换视图)
我已更改文件
那么怎么把这个更改传到自己的github上呢?
在团队资源管理器这里,选择更改
first更改 是备注
然后同步,或者是团队资源管理器首页那里也有同步的按钮
选择推送
然后就成功推到你的github上了
获取github上的更改或者上游库的更新
如果项目负责人更新了项目的进度,而你自己github上fork的库却不会自动更新,你本地的存储库就更不会了自动更新了,所以我们需要把github上的更新给拉到本地,最简单的就是删除重新fork一份,但是这也是最后的办法;
获取自己github的库中的更新
比如我在ghtest中新建了一个文件bbb
这时候的本地存储库是一定没有bbb的
我们需要进行拉取/提取
在团队资源管理器-同步
这个地方,拉取就是获得更新并且自动合并到你的本地存储库,提取是获取更新,但是先不合并到你的本地存储库,你自己看情况要不要合并进去。
我们选择拉取
然后就有bbb文件了
获取上游库中的更新
现在团队资源管理主页找到设置
存储库设置
远程添加
编辑,名称不变,提取后边是上游库的地址,推送是你自己的github库的地址,左下角的那个不要勾选
解释一下:就是 更新源是我的boss,也就是项目负责人,我直接从他的库哪里拿到最新更新,但是我做好更改之后,要推送的地址是我自己的github库,也就是作为一个中转站,等我确定更改无误,那么我再提交申请到boss哪里,请求让我的更改进入项目;
然后就和上一步的提取推送一样了
提交更改到上游库
我写(修改)了一部分代码,我感觉没问题了,想要告诉boss,我写好了,你看一下,可以的话就把我的公布(加入到主支)吧
首先,我们知道,我已经把更改提到了我自己的github,进入我的github库,选择pull requests
然后creat pull request,这里如果你的这一个库的版本和上有库的版本不是一个,那么会失败,这也是为什么我在前面说明,要在修改之前最好更新到上游的最新版本的原因
之后写好标题,备注(建议标题可以是自己的更改简介或者是自己的姓名,备注是详细的更改介绍,这样boss就可以直截了当的看出你的更改,增加他同意你的申请的几率)
然后就点击确定,就ok了,boss那边就会收到你的申请,然后就可以觉得是否同意;
项目负责人审核申请
点击pull requests
然后open哪里应该会有提示,1 我这里没有
然后选中某个申请,点击merge合并就是同意的意思了
注意注意,同意之后,就相当于了上游仓库更新啦~团队成员及时更新最新版本嗷!