在
版本回退
里,每次提交修改,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
的当前提交,就完成了合并:
命令操作
1)创建dev分支,并切换至dev分支:
git branch dev
git checkout dev
合并为:git checkout -b dev
2)修改文件readme.txt,并提交:
git add readme.txt
git commit -m “modified readme.txt”
3)合并dev分支,并删掉dev分支
git checkout master
git merge dev
git branch -D dev