【Git & Github】(七)Git命令行操作 —— Github远程库操作(邀请远程库协作者、推送和拉取、协作时两种冲突的解决)
0.准备工作
要学习如何在Github上进行团队协作,请注册一个另外的Github账号,方便学习。
这里我注册的新的Github账号为:
mculover666-2
[email protected]
在同一台电脑上进行多个Git账号的操作比较麻烦,建议使用虚拟机,在虚拟机中登录另一个账号。
1.协作者将远程仓库克隆到本地
首先,团队的合作者需要将仓库克隆到本地,在上一篇文章中讲述了克隆的好处,这里再次说明:
- 完成本地库初始化操作;
- 默认将远程库地址别名设置为
origin
; - 默认将远程库的所有内容拉取到本地;
拉取之后,我们可以进行一切本地库可以进行的操作,比如查看状态,提交更新,查看更新记录等等,这里我们修改文件,并在本地库提交一次更新:
然后尝试将该提交推送到远程库,发生错误:
这是因为Github上的远程仓库Git_test是归属于mculover666
的,这里虚拟机中的mculvoer666-2
成员没有权限去修改这个远程仓库,所以操作被禁止。
2.邀请团队成员(协作者)加入
2.1.远程库所有者发送邀请
邀请团队成员加入需要在Github上完成:
这里Github已经自动向被邀请者发送了邀请邮件,当然也可以自己复制邀请链接
,发送给被邀请者;
2.2.接受邀请
被邀请者收到的邮件信息如下:
这样就邀请成功了,再次在命令行中推送一下提交,推送成功:
3.拉取最新更改
这里mculover666-2
向远程库提交了更改,mculover666
需要将此次修改拉取下来,更新到本地,直接使用拉取命令即可:
4. 团队协作的冲突及其解决
在团队中所有的协作者同时工作时,会发生两种冲突:
1. 当一个协作者向远程库推送了更新后,其他所有的协作者都不能再做推送,必须先将远程库的最新更新拉取,之后才能推送;
2. 当拉取了远程库的最新内容后,如果修改和本地修改的地方相同,会导致自动合并失败,进入手动合并模式。