一开始的时候,master
分支是一条线,Git用master
指向最新的提交,再用HEAD
指向master
,就能确定当前分支,以及当前分支的提交点。
每次提交,master
分支都会向前移动一步,这样,随着你不断提交,master
分支的线也越来越长。
分支的创建
当我们创建新的分支,例如dev
时,Git新建了一个指针叫dev
,指向master
相同的提交,再把HEAD
指向dev
,就表示当前分支在dev
上
对工作区的修改和提交就是针对dev
分支了,比如新提交一次后,dev
指针往前移动一步,而master
指针不变;
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
以上可以简写为:$ git checkout -b dev;
git branch
命令查看当前分支,git branch
命令会列出所有分支,当前分支前面会标一个*
号
修改内容提交到dev分支上,切换回master
分支($ git checkout master)后,
刚才修改的内容不见了!因为那个提交是在dev
分支上,而master
分支此刻的提交点并没有变。
分支的合并
现在,我们把dev
分支的工作成果合并到master
分支上:
git merge
命令用于合并指定分支到当前分支,就可以看到,和dev
分支的最新提交是完全一样的。
分支的删除
另外,合并结束后,可以删除分支:git branch -d dev