一、简介
在前面文章的版本回退里,你已经知道,每次提交,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
的当前提交,就完成了合并:
所以Git合并分支也很快!就改改指针,工作区内容也不变!
合并完分支后,甚至可以删除dev
分支。删除dev
分支就是把dev
指针给删掉,删掉后,我们就剩下了一条master
分支:
真是太神奇了,你看得出来有些提交是通过分支完成的吗?
下面开始实战。
一、创建dev分支
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/a267811c-35b9-4c0c-8337-e5bd483b2dc8.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/007b21c2-3c6b-46b5-93c5-9fef23e4e852.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/de575aec-11be-455f-9a2d-1c4402b2cf22.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/fae11550-7c9b-408a-a15a-00f0381c6f7c.png)
![git-br-on-master](https://i-blog.csdnimg.cn/blog_migrate/a077c8d7e2b00bf5ffdf88654a83ca1a.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/cb009f03-d009-4b07-8d78-cddf31220b7f.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/f2c047ee-a684-455f-bcca-0efd57408aad.png)
![](https://note.wiz.cn/api/document/files/unzip/0a7eafd0-7f2d-4fb4-9f8e-5e465a5dc1d4/b886fa20-6f36-4dce-a8af-c923ddbcf02e.7842/index_files/11cea8ad-8df3-4120-883d-569d73834258.png)
小结
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>