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,就能确定当前分支,以及当前分支的提交点:

git-br-initial

3.2 每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长:当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

git-br-create

3.3 Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

git-br-dev-fd

3.4 假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

git-br-ff-merge

 

 

相关博客:

1).Git 版本控制工具介绍(一)

  2).Git 工作流程介绍(二)

  3).Github的使用(三)

  4).Git 常用命令(四)

  5).Git 版本回退(五)

  6).Git版本冲突解决(六)

  7).git 分支管理(七)

  8).git文件存储原理解析(八)

 

猜你喜欢

转载自yanan0628.iteye.com/blog/2272090