【Git】多人协作2——不同分支协作完成

多人协作的任务

  • 目标:远程master分支下新增function1和function2文件
  • 实现:由开发者1新增全部function1文件的代码,由开发者2新增 1/3的function2文件的代码,再由开发者1新增1/3的function2文件的代码,最后再由开发者2最后1/3function2文件的代码。
  • 条件:在不同分支下协作完成,各自让某个功能私有某一个分支

完成feature-1分支下的function1文件的代码

首先需要创建feature-1分支,而创建分支的方式有两种:

  1. 远程创建分支(推荐)
  2. 本地创建分支,然后将本地的分支push推送到远端仓库

【注意】一般在项目中推荐使用远程创建分支的方式,是因为通过远程创建的分支,此时的分支是最新最全的分支。而通过本地创建分支,不能保证是最新最全的分支,需要通过git pull拉取远程的最新最全的分支。

下面演示本地创建分支的方式,以便学习指令:

指令:git push origin [本地分支名称]

【功能】将远程仓库中建立与本地分支相同名称的分支,并将本地仓库的内容推送到远端

完成feature-2分支下的function2文件的代码

        为了模拟多人协作,下面将开发function2文件有开发者1和开发者2共同完成,开发者1使用Linux环境,开发者2使用Windows环境。

  1. 由开发者2新增 1/3的function2文件的代码;
  2. 再由开发者1新增1/3的function2文件的代码;
  3. 最后再由开发者2最后1/3function2文件的代码。

首先,需要先进行更新本地master分支的内容,将远端master拉取到本地。

在本地创建分支

在Windows环境下,可以直接使用图形化界面的方式。

然后将这1/3部分内容推送到远端。

如果两个开发者在同一个分支下编写代码,肯定会出现分支冲突问题。在不同分支下编写并推送代码,并不会产生冲突,原因是各自私有一个分支。

下面则需要开发者1来进行在feature-2分支下编写1/3代码,一定会出现分支冲突问题。

【注意】对于git pull命令来说

  1. 拉取分支内的内容——需要建立链接
  2. 拉取远程仓库的内容,例如分支——不需要建立链接

此时远程的feature-2分支的function2文件中已经完成2/3的代码的内容。此时需要开发者2完成最后的1/3的内容:

        此时,开发者2需要拉取远程文件中的内容,需要先建立链接。

将feature-1分支与feature-2分支合并到master分支上

合并分支,有两种分支:

  1. 远程合并:PR申请单
  2. 本地合并

通过PR单的方式将feature-2合并到master分支:

此时的状态:

此时,如果将feature-1合并到master分支,可能会出现冲突,也可能不会出现冲突。所以,为了确保如果存在冲突,需要解决冲突,需要先将master分支合并到feature-1分支,然后再将feature-1分支合并到master分支。

此时,通过PR单子的形式将feature-1分支上的内容进行合并。

删除远程分支

删除本地远程分支

对于远程仓库来说,已经将远程仓库创建的分支删除,但是在本地还是可以看到远程分支的。

当进行越来越多的开发,可能会出现越来越多的远程分支,所以需要删除本地的远程分支。

指令:git remote show origin

【功能】查看remote地址,远程分支,还有本地分支与之远程相对应关系等信息。

指令:git remote prune origin

【功能】删除不存在的远程分支

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值