git 分支管理(七)
1.什么是分支,分支能解决什么问题?
1.1 分支简介
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的默认分支名字是 master,
Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init
命令默认创建它,并且大多数人都懒得去改动它。
1.2 解决问题
一般在线上开发 需要建几个分支 master分支(主干分支 保证随时是可进行发布代码) ,dev分支(开发过程中 需要推送到远程仓库的分支,待开发完毕 合并到主干master) ,bug分支 (修复代码bug的分支),或者还有个人自己建的分支,见多个分支好处:
1.2.1 首先是保证主干master分支代码是最新的并且是可发布的状态;
1.2.2 其次 我们并行开发多个不同任务 ,可以分别推送到不同 分支下,保证并行效率,且代码不收影响
1.2.3 开发过程中遇到紧急bug时候,可以把当前代码推送某个分支上,修复bug后 在进行后续开发
2.git分支相关命令
2.1 创建分支
查看分支:git branch -a(显示本地和远程所有分支)
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
如图1:新建和切换分支
新建dev分支和bug分支并却换到bug分支下
如图2:分支合并及删除
1).在上图基础上 删除bug分支
2).分支合并
2.1 首先切换到dev分支上,修改工作区代码,并推送推送远程仓库,观察变化
2.2 切换到master分支上,并对dev分支进行合并
2.3 查看分支的合并图
3.分支创建到合并的过程
3.1 一开始的时候,master
分支是一条线,Git用master
指向最新的提交,再用HEAD
指向master
,就能确定当前分支,以及当前分支的提交点:
3.2 每次提交,master
分支都会向前移动一步,这样,随着你不断提交,master
分支的线也越来越长:当我们创建新的分支,例如dev
时,Git新建了一个指针叫dev
,指向master
相同的提交,再把HEAD
指向dev
,就表示当前分支在dev
上:
3.3 Git创建一个分支很快,因为除了增加一个dev
指针,改改HEAD
的指向,工作区的文件都没有任何变化!不过,从现在开始,对工作区的修改和提交就是针对dev
分支了,比如新提交一次后,dev
指针往前移动一步,而master
指针不变:
3.4 假如我们在dev
上的工作完成了,就可以把dev
合并到master
上。Git怎么合并呢?最简单的方法,就是直接把master
指向dev
的当前提交,就完成了合并:
相关博客:
1).Git 版本控制工具介绍(一)
2).Git 工作流程介绍(二)
3).Github的使用(三)
4).Git 常用命令(四)
5).Git 版本回退(五)
6).Git版本冲突解决(六)
7).git 分支管理(七)
8).git文件存储原理解析(八)