什么是分支呢?在电影中常常有平行宇宙这个概念,而分支就像是平行宇宙,不同的分支互不影响。
分支常用于多人协作开发时,每个开发人员在自己的分支上实现相应功能,当功能实现后,再将分支内容合并到主分支上,这样大大提高了开发效率。
目录
一、master分支
在初始化本地Git仓库时,Git已经默认帮我们创建了一个名字叫master主分支,通常我们把这个master分支叫做主分支。
在实际工作中:master主分支的作用是:用来保存和记录整个项目已经完成的功能代码。
二、功能分支
专门用来开发新功能的分支,临时从master主分支上分叉出来的。当分支被合并时,功能分支就不在有意义了。所以功能分支的生命周期短。
三、分支操作
1.查看分支列表
git branch
注意:分支前面的 * 号表示当前所处的分支。
2.创建新分支
git branch 分支名称
此时,我们基于master主分支上创建了一个名为login的功能分支。此时处于master主分支中。
3.切换分支
当我们需要写编写功能代码时,我们就需要切换到该分支上书写,如果直接在主分支上写会不利于代码的维护。
git checkout 分支名称
此时我们处于login分支上。
分支的快速创建和切换:
git checkout -b 分支名称
4.合并分支
在功能分支上书写完全部代码后,我们需要将功能分支上的内容合并到主分支上,让主分支拥有该功能。注意:在合并分支时,我们不能处于需要合并的分支上。例如想要将C分支合并到A分支上,必须先切换到A分支上,再合并C分支。
git merge 分支名称
如果我们在两个不同的分支上,对同一个文件进行了不同的修改,Git就没办法干净的合并它们。此时我们需要手动解决冲突问题。
解决步骤:
1、打开编辑器手动解决冲突文件
2、 git add .
3、git commit -m “描述信息”
5.删除分支
当功能分支被合并后,该分支就没有意义了,此时需要删除分支。删除时也不能处于即将被删除的分支上。例如想要将C分支删除,当前不能处于C分支上。
git branch -d 分支名称 // 若还有未被合并的分支会提示
git branch -D 分支名称 // 强制删除分支
6.将本地分支推送到远程仓库
第一次将本地分支推送到远程仓库:
查看远程仓库中所有的分支列表
git remote show 远程仓库名称
跟踪分支
git checkout 远程分支的名称
拉取远程分支的最新代码
git pull
删除远程分支
git push 远程仓库名称 --delete 远程分支名称
其实在真正进行项目开发时,我们并不会只开一个核心分支,一般是master分支和develop两个核心分支,在必要时还会开启relase分支进行bug测试。在实际开发中按需要创建、合并分支。
另外在团队协作开发时,我们每天都需要将本地git仓库上传到远程仓库。