10创建与合并分支
Posted yhq1913
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10创建与合并分支相关的知识,希望对你有一定的参考价值。
【10】创建与合并分支 在版本回退时,我们已经知道,git提交会把历史记录串成一条线,一条时间轴,这个时间轴就叫做分支,只不过这条分支被称为主分支,我们在版本回退时所指向的HEAD,严格来说不是指向提交,而是指向master,master在指向提交,所以,HEAD就是当前分支,git主分支被称为master
每一次的提交Git都会向前走一步,这样不断的提交,主分支线会越来越长,当我们创建新的分支,例如dev时,Git会指向一个名叫dev的分支,再把HEAD指向dev,就表示当前分支在dev上了

现在我们所做的所有操作都是在dev的基础上了,比如,新提交一次数据,时间线就会向后走一格,dev指针往前移动一步,而master指针不变:

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

所以Git合并分支也很快!就改改指针,工作区内容也不变! 合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

这样我们就完成了分支的操作,总的来说就是创建分支 -> 切换分支 -> 分支的提交修改 ->合并分支,大家可能看到这里知道了大概什么是分支,但是为什么要用分支呢,举个简单的例子,我们在程序出bug时,可能需要快速解决这个bug,但是有不敢轻易在原有的代码上改动,那我们就可以创建出一个分支来完成,大胆的修复BUG,即使分支内容写的无法修复了,就删除分支重新创建分支,继续修复BUG之旅,在使用Git时,大多数不是主程序业务又不能扔下的事情我们往往创建一个分支解决问题! 下面我们实际操作一下吧! 首先,我们先创建一个dev分支,并且切换到dev分支,此处有两种方式可以实现 第一种: $ git checkout -b dev 第二种: $ git branch dev $ git checkout dev 以上的第一种方式一句话代替了第二种方式的两句话,所以执行哪个都没问题,在这里我使用第一种方式

然后使用 git branch 命令查看当前都有哪些分支

其中绿色字体显示并且前面带有分支的名称就是当前我们所使用的分支,然后我们就可以在dev分支上做提交操作了,编辑readme.txt文档加上一句话create new git branch然后提交,紧接着切换回master分支,具体操作如下:

切换回master分支后打开readme.txt,文件内容不见了,因为你修改提交的是dev分支,当前咱们在master分支

现在,我们把在dev分支的工作成果合并到master分支来

git merge dev 命令代表合并分支的意思,将dev分支内容合并到当前分支(master),合并后在一次打开readme.txt,发现在dev分支修改提交的内容我们在master分支中也存在了。 合并完成后我们就可以放心的删除掉dev分支了,删除后在查看当前所有分支,就剩下master主分支了


以上是关于10创建与合并分支的主要内容,如果未能解决你的问题,请参考以下文章