在一开始学习 git 的时候我们经常提到一个东西---- master。那么 master 到底是什么呢?其实它就是一个分支,一般这个分支就是主分支。而在一般 git 中都有一个指向当前你工作的分支 HEAD。
对于一开始的时候,master 分支是一条线的。对于我们每次提交的时候,git 分支都会向前移动一次,因此随着我们的提交越来越多,master 分支也越来越长。当我们创建一个新的分支(hotFix)的时候,git 会为我们创建一个新的指针(hotFix),而我们可以把当前工作的地方指向当前分支(hotFix),也就是说将 HEAD 指向 hotFix,这时候就表示当前分支就是 hotFix。因此在我们进行分支切换的时候工作区的文件是会发生改变的。
这时候我们在 hotFix 做了修改那么 hotFix 指针会向前走一步,而对于 master 指针是不会改变的。如下所示:
这时候我们在 hotFix 上完成工作了,需要将我们所做的更改合并到 master 分支上,合并完后将 HEAD 指针指向 master 分支,然后再将 hotFix 分支删除掉,删除之后就只剩下一个 master 分支。
说了这么多那么怎么创建分支呢?
创建分支
创建分支我们可以使用 git checkout -d <branchName>,其实对于这条命令是做了以下两步:
--创建分支
git branch hotFix
--切换分支
git checkout hotFix
当然我们也可以使用 git branch 查看当前的分支
-- 对于当前分支前面会有一个 * 号
$ git branch
* dev
master
合并分支
可以使用 git merge 将指定分支合并到当前的分支。合并之后我们会发现在 hotFix 分支做的修改被添加到了 master 分支。
删除分支
在我们合并完之后,就可以将 hotFix 分支删除掉。这时候可以使用 git branch -d hotFix。删除之后就会发现只剩下 master 分支了。
我们对以上所讲的东西进行汇总下:
1. 查看分支:git branch
2. 创建分支:git branch <name>
3. 切换分支:git checkout <name>
4. 创建+切换分支:git checkout -b <name>
5. 合并某分支到当前分支:git merge <name>
6. 删除分支:git branch -d <name>