管理分支
分支的作用
不完整的代码直接提交会使别人无法工作,但不提交又会出现代码丢失进度的风险。创建自己的分支,可以随时进行提交保存,这时的提交是其他人无法看到的,最后等到代码写完之后再将自己的分支一次性的合并到原来的分支上。这样既安全又不影响别人工作。
而且Git还有一个优点就是Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论你的版本库是1个文件还是1万个文件。
创建和合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master
分支。HEAD
严格来说不是指向提交,而是指向master
,master
才是指向提交的,所以,HEAD
指向的就是当前分支。
-
一开始的时候,
master
分支是一条线,Git用master
指向最新的提交,再用HEAD
指向master
,就能确定当前分支,以及当前分支的提交点:
-
每次提交,
master
分支都会向前移动一步,这样,随着你不断提交,master
分支的线也越来越长。
当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master
相同的提交,再把HEAD
指向dev,就表示当前分支在dev上:
-
你看,Git创建一个分支很快,因为除了增加一个dev指针,改改
HEAD
的指向,工作区的文件都没有任何变化!
不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master
指针不变:
-
假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并: