2.4、分支
2.4.1、相关命令
1.查看本地分支
- 命令:
git branch
2.创建本地分支
- 命令:
git branch 分支名
创建新分支会复制主分支的文件和自己另外添加的文件,也就是自动合并主分支的内容。
3.切换分支(checkout)
- 命令:
git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换)
- 命令:
git checkout -b 分支名
4.合并分支(merge)
一个分支上的提交可以合并到另一个分支
- 命令:
git merge 分支名称
注意:需要先切换到目标分支
合并命令执行前:
合并命令执行后:
5.删除分支
不能删除当前分支,只能删除其他分支
git branch -d b1
删除分支时,需要做各种检查
git branch -D b1
不做任何检查,强制删除
2.4.2、解决分支合并冲突
冲突展示:
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
-
处理文件中冲突的地方
修改文件中的内容,如下:
-
将解决完冲突的文件加入暂存区(add)
-
提交到仓库(commit)
2.4.3、开发中分支使用原则与流程
在开发中,一般有如下分支使用原则与流程:
-
master
(生产) 分支线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
-
develop
(开发)分支是从
master
创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线 要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master
分支,准备上线。 -
feature/xxxx
分支从
develop
创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop
分支。 -
hotfix/xxxx
分支从
master
派生的分支,一般作为线上bug
修复使用,修复完成后需要合并到master
、test
、develop
分支。 -
还有一些其他分支,在此不再详述,例如
test
分支(用于代码测试)、pre
分支(预上线分支)等等。