七、Git远程仓库操作——团队成员内协作

1. github远程协作的两种方式

前面我写的笔记,都是自己一个人在玩,无论是本地操作还是推送到远程都是自己推送到自己的仓库。

如果是别人拥有这个仓库,而我想对这个仓库的内容更改后,然后想推送更新到这个仓库,我们要有什么方法?

1.1 邀请你作为协作者

仓库拥有者邀请你作为该项目的协作者,那么这时你就有权限向该仓库推送更新。

1.2 pull request机制

仓库拥有者并不想邀请你作为协作者的身份,这时github还有另一种机制 pull request,可以让你更新到那个仓库。大致的流程就是:

  1. 首先你需要fork那个仓库到你自己的github中,其实就是复制了一份副本到你自己的仓库
  2. 然后克隆你自己fork的这个仓库到本地
  3. 在本地修改之后,我们在 git commit提交到本地
  4. 然后再git push推送到自己fork的远程仓库
  5. 推送到了自己的仓库之后,我们再提交pull request,其实就是申请原仓库的拥有者把自己推送的更新,请求合并到他自己的仓库。

下面我先介绍下,仓库拥有者邀请你作为协作者,这种方式实现团队协作。

2. 协作者先克隆别人的仓库到本地

在开搞之前,还需要注册一个github小号,或者找别人要一个账号来进行测试。

  • 首先,我们克隆别人的仓库到自己本地电脑
  • 然后对该仓库进行常见的本地操作,比如 git status / git add / git commit 等等。我们修改了之后提交更新到本地仓库
  • 本地提交了更新之后,我们想把更新推送到远程仓库。这时是拒绝你推送的,因为那个仓库不属于你,你无权限推送。

3. 仓库拥有者邀请协作者加入

我们需要打开在github网站上自己的一个仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yY0j2O2M-1676130407948)(../picture/image-20230211224527645.png)]

然后,在Collaborators选项中,填写邀请的账号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wTTIxl2-1676130407949)(../picture/image-20230211224659631.png)]

当我们填写邀请的账号点击完成时,github就会发送一封邮件给受邀请的协作者。然后我们就等待受邀请的协作者同意。

扫描二维码关注公众号,回复: 14736084 查看本文章

然后受邀请者打开邮件,点击同意邀请即可。

这个时候,如果你再次向这个仓库推送自己在本地的commit,那么就可以推送成功了的,因为你已经有权限向该仓库提交更新了。

4. 仓库拥有者拉取协作者的更新

上面,仓库的拥有者邀请了一位协作者加入到该仓库了。而且他还向该仓库推送了更新的内容。那么仓库的拥有者可以使用:

git pull origin master

使用该命令,可以拉取远程仓库的更新到自己的本地仓库。

这样就实现了远程协作啦。但是真是的情况并不会那么顺利的,因为还会产生团队协作的冲突

5. 团队协作的冲突介绍

git团队成员协作时,一般会产生两种冲突

  1. 团队其中的一个成员向远程库推送了更新之后,其他所有的成员都不能再推送了,其他成员想要推送那么必须先拉取最新的远程库,然后才能推送。

  2. 当我们拉取了远程库最新的内容时,如果别人提交的远程库的修改和你自己在本地仓库的修改,是在同一个文件同一个地方时,那么就会导致自动合并失败,然后会进入到手动合并(手动合并的操作前面已经有写一篇文章介绍)。

猜你喜欢

转载自blog.csdn.net/luobeihai/article/details/128990745
今日推荐