Git的分支融合详解

一. 分支


     在讨论这个问题之前,我们得知道Git保存文件的方法是文件快照,文件快照是什么呢,文件快照我们不用深入理解,你只需要知道文件快照就是文件的副本保存即可。
     我们知道在分支上的任何操作最终都会通过commit,那么commit操作后会产生一个commit对象,**该对象会包含一个上一个提交对象的指针**,当然我们得仓库里还会有其他文件的对象,以及包含文件索引的tree对象,仓库的概念这里就不赘述了。
     Git中所使用的的默认分支叫做master,一般我们是不会在默认分支上去做操作的,一会是会自己新建一个分支,作为自己的工作空间。新建一个分支很简单。
     git branch mybran;就会新出来一个分支:
     
     Git的分支融合详解
     那么,有了两个分支后,又如何区分我们现在究竟在哪一个分支上操作呢?我们会有一个head指针指向当前工作分支。
    Git的分支融合详解
     要想切换分支,只需:
     git checkout master(要切换到的分支名字)即可:

Git的分支融合详解
     假如我切换后在test分支上做了一次操作,那么现在的分支情况会变成如下:
    Git的分支融合详解
     看到这里是不是恍然大悟,分支的操作其实就是为了保护主文件,使之永远都有一个备份。这是我自己的理解。
    


 二. 融合


    分支的融合就比较简单了,直接切换到master分支上面,然后:
    git merge test(所要合并的分支)即可。