Git团队协作机制

1 团队内协作

1.1 团队内协作的过程

团队内协作的过程大致如下图所示:
在这里插入图片描述
详细解释:

  1. 项目基本开发好了之后,项目经理推送(push)到代码托管中心。
  2. 如果项目需要修改某些需求,则开发人员先从代码托管中心克隆(clone)整个项目到本地库,进行修改。
  3. 开发人员修改好了之后,再推送(push)到代码托管中心。
  4. 此时项目经理如果需要查看最新修改的代码,从代码托管中心进行拉取(pull)即可。

1.2 实际操作

现在假设codeA是项目经理,coderB是开发人员。
第一步:
coderA首先将代码写的差不多了,然后push到远程库,
在这里插入图片描述
第二步:
现在假设项目需要coderB修改某些需求,则coderB首先需要clone远程库的代码到本地(coderA通过微信或钉钉发送远程库链接,coderB使用该远程库链接clone),
在这里插入图片描述
第三步:
coderB修改代码,然后再push到远程库(上面链接的远程库)。假设coderA账户是yeranyeran,coderB账户是PorscheYe,这里修改过程就不再演示了,直接演示push,过程中会弹出要求输入GitHub账号密码,这时应该输入coderB(PorscheYe)的账号密码,因为coderA(yeranyeran)是不可能将自己的账号密码告诉别人的,于是结果如下:提示拒绝PorscheYe(coderB)访问
在这里插入图片描述
拒绝的原因就是coderB还没有团队成员的权限,所以不能向该仓库push代码。
所以需要将coderB(PorscheYe)添加为团队成员:
在coderA(yeranyeran)中,
在这里插入图片描述
点击3处,弹出下面的对话框,
在这里插入图片描述
然后点击Add PorscheYe to this repository
在这里插入图片描述
跳转到下面的页面,
在这里插入图片描述
这时coderB(PorscheYe)账号绑定的邮箱中已经有了邀请链接,如下图所示,
在这里插入图片描述
点击accept,然后登陆GitHub,出现下面的页面,点击Accept invitation,
在这里插入图片描述
页面跳转如下,并且左上角提示你现在有push权限到yeranyeran/test仓库了,
在这里插入图片描述
这时coderA(yeranyeran)中,也发生了变化,不再是pending invatation了,
在这里插入图片描述
邀请成功,现在coderB(PorscheYe)可以直接push代码了,
在这里插入图片描述
push成功,此时coderA(yeranyeran)中test仓库代码已经改变了
在这里插入图片描述
第四步:
coderA(yeranyeran)拉取代码,如下图所示:
在这里插入图片描述
达到预期,团队内合作完成。

2 跨团队协作

2.1 跨团队协作的过程

跨团队协作的过程大致如下图所示:
在这里插入图片描述
详细解释:

  1. 如果A团队的代码需要B团队来帮助修改,首先B团队需要fork A团队的代码,这样B团队在自己的远程库中就有了一份与A团队相同的项目。
  2. B团队将项目克隆到自己的本地库。
    注意:这里B团队为什么不能直接克隆A团队代码到自己的本地库呢?因为B团队修改好了之后,由于不再同一个开发团队,所以B团队没有权限将代码push到A团队的远程库。所以B团队只能通过fork,先在自己的代码托管中心形成项目的远程库,修改好了之后,push到自己的远程库,最后通过pull request向A团队发起合并请求。
  3. B团队修改好了之后,push到自己的远程库。
  4. 向A团队发起pull request。
  5. A团队审核B团队的修改。
  6. 如果A团队觉得没问题,审核通过的话,那么就合并B团队的修改。
  7. A团队所有成员通过pull,就可以看到B团队的修改。

2.2 实际操作

先把上面的PorscheYe账户团队内协作开发的身份取消(这时PorscheYe账户下的yeranyeran/test仓库链接也会消失),然后把PorscheYe当作其他团队成员,模拟跨团队开发过程。
第一步:
yeranyeran将test仓库的链接通过微信或钉钉发给PorscheYe,PorscheYe收到后,在GitHub中fork此仓库到自己的账户中,
在这里插入图片描述
然后PorscheYe自己的账户下就有了这个test仓库,
在这里插入图片描述
第二步第三步不再演示,这里直接在GitHub网页端修改提交。
在这里插入图片描述
第四步:
PorscheYe修改好了之后,提交,然后PorscheYe向yeranyeran发起pull request,
在这里插入图片描述
页面跳转如下,点击Create pull request
在这里插入图片描述
跳转到如下页面,
在这里插入图片描述
点击Create pull request,页面跳转成功,PorscheYe发起pull request成功。
第五步:
yeranyeran收到PorscheYe的pull request,
在这里插入图片描述
审核代码,
在这里插入图片描述
审核完成。
第六步:
yeranyeran觉得修改的合理,开始合并代码,
在这里插入图片描述
合并后的代码,可以看到已经是PorscheYe修改的代码了:
在这里插入图片描述
如果觉得代码修改不合理,并且有疑问,还可以和PorscheYe具体交流,
在这里插入图片描述
然后PorscheYe就会收到消息,并且可以回复,
在这里插入图片描述
上面是在PorscheYe下收到了yeranyeran的回复,下面是在yeranyeran下收到了PorscheYe的回复,所以GitHub可以充当一个实时聊天工具
在这里插入图片描述
如果yeranyeran觉得PorscheYe的理由不充分,可以拒绝他修改的代码,直接关闭pull request。
在这里插入图片描述
第七步:
yeranyeran/test团队所有成员都可以pull到本地库,获取最新版的代码,
在这里插入图片描述
达到预期,跨团队协作完成。

3 注意事项

全程使用两个GitHub账号和两个浏览器,Chrome浏览器登陆yeranyeran,360浏览器登陆PorscheYe,用来模拟两个用户。


结束语:如果本篇博客对您有帮助,请点赞、收藏或关注(关注的朋友一律回关),您的鼓励是博主进步的动力,感谢支持,共同进步。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值