大家好,今天我们来聊git当中一个非常非常重要的特性,就是branch。
git branch可以说是git当中最重要的概念了,甚至没有之一。因为git最重要的使用场景就是协同开发,大家一起在一个项目当中开发不同的功能。正是由于有了分支的概念,可以让大家在开发的时候互不影响。如果没有这个功能,git的其他功能做的再好,可能都没有用。
所以某种程度上可以理解为,学git最重要的就是学习分支的相关内容。当然分支的相关内容和命令非常多,我们想要瞬间全部都学会显然不太现实。但对这个概念有一些理解,懂得一些基本命令的用法应该还是做得到的。
在理解分支这个概念之前,我们需要先来介绍一下Git的结构。
Git的结构
branch的英文就是树枝,后来衍生出了分叉、支路等意思。这个单词非常形象,因为git仓库的所有提交节点之间的关系,其实就是一棵树,所以一个分支也可以看成是树上的一条链路。但是这样有一个小问题是,如果说分支是一条链路的话,那么这个链路上的每一个节点代表的是一个commit提交,意味着一份代码快照,有些像是游戏存档。
一个branch上有多个commit,一个游戏也可以有多个存档,但是当下显然只能加载一个。所以git当中用一个指针指向当前加载的commit,也就是说纵向来看一个分支代表的是一连串的提交,但在git当中我们使用的分支其实是一个指针,一个在commit当中切换的指针。
我们来看个例子,比如一开始的时候我们只有默认分支master,它指向当前的一个提交。
现在我们使用git branch te