每一个Git仓库都包含一个提交库,这些提交通过元数据(实际上文件对象由其它实体存储,节点上只是存储指向文件对象的指针)相互连接,每个提交包含一个指向自身父提交的引用(指针)。对于合并提交而言,它可能会引用不止一个父提交。Git中的分支实际上是一个指向某个特定提交的命名指针。
简单说Git的每个新版本其实只是维护变动和指向变动前版本的指针。简图如下:
每一个依赖链组成一条支,刚开始的第一条支叫做主分支(一般默认叫master),从主分支可以分别分出枝干,也就是分分支,但一般会取上一个特定的分支名称。
分支的策略有很多,可以根据功能分,根据状态分等方式。但同样都是为了更好的管理代码和协同开发。比如下图:
分支命令常用的有:
1. 创建分支: git branch 分支名称
2. 切换分支: git checkout 分支名称
3. 合并分支(可能冲突): git merge 被合并的分支名称
4. 查看分支:git branch
5. 删除分支: git branch -d 分支名称
实践例子:
下面通过实例演示上面分支图2 所示的过程。 首先在branchDemo中新建文件
提交V1版本: