多人协作的任务
- 目标:远程master分支下新增function1和function2文件
- 实现:由开发者1新增全部function1文件的代码,由开发者2新增 1/3的function2文件的代码,再由开发者1新增1/3的function2文件的代码,最后再由开发者2最后1/3function2文件的代码。
- 条件:在不同分支下协作完成,各自让某个功能私有某一个分支
完成feature-1分支下的function1文件的代码
首先需要创建feature-1分支,而创建分支的方式有两种:
- 远程创建分支(推荐)
- 本地创建分支,然后将本地的分支push推送到远端仓库
【注意】一般在项目中推荐使用远程创建分支的方式,是因为通过远程创建的分支,此时的分支是最新最全的分支。而通过本地创建分支,不能保证是最新最全的分支,需要通过git pull拉取远程的最新最全的分支。
下面演示本地创建分支的方式,以便学习指令:

指令:git push origin [本地分支名称]
【功能】将远程仓库中建立与本地分支相同名称的分支,并将本地仓库的内容推送到远端


完成feature-2分支下的function2文件的代码
为了模拟多人协作,下面将开发function2文件有开发者1和开发者2共同完成,开发者1使用Linux环境,开发者2使用Windows环境。
- 由开发者2新增 1/3的function2文件的代码;
- 再由开发者1新增1/3的function2文件的代码;
- 最后再由开发者2最后1/3function2文件的代码。
首先,需要先进行更新本地master分支的内容,将远端master拉取到本地。

在本地创建分支

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


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


如果两个开发者在同一个分支下编写代码,肯定会出现分支冲突问题。在不同分支下编写并推送代码,并不会产生冲突,原因是各自私有一个分支。
下面则需要开发者1来进行在feature-2分支下编写1/3代码,一定会出现分支冲突问题。


【注意】对于git pull命令来说
- 拉取分支内的内容——需要建立链接
- 拉取远程仓库的内容,例如分支——不需要建立链接


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



将feature-1分支与feature-2分支合并到master分支上
合并分支,有两种分支:
- 远程合并:PR申请单
- 本地合并

通过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
【功能】删除不存在的远程分支

1525

被折叠的 条评论
为什么被折叠?



