Lerix的git学习笔记(10)_git 分支介绍

git 分支介绍

分支

分支是版本管理中的基本概念,简单理解就是从当前的提交路径中,分支出一个新的提交路径。原版本路径继续沿原来的迭代路径进行提交新内容,分支出来的提交路径按自己的节奏,提交新内容。成为一个新的仓库。

比如当你开发到一个阶段,需要添加一个新功能需求,但这个新功能可能引起已有功能的不稳定,那你就可以建立一个分支,在分支的基础上进行开发。这样一旦出了问题,并不会影响原主分支的内容。而开发完成之后,将分支合并到主分支。

git分支的不同之处

分支功能在传统的版本控制系统中是靠完全复制来实现的,而在git中,使用指针实现。故git创建、切换、删除分支超级快。

git分支原理

在理解git分支原理前,我们已经在01_git介绍了一些git的底层设计特点:

git保存的不是文件的变化或差异,而是一系列不同时刻的文件快照。

git暂存和提交的本质

暂存操作:给每个文件创建快照,给每个快照生成1个blob对象保存快照
提交操作:

  1. 根据文件的目录结构创建一个树对象,以同样方式指向blob对象。
  2. 然后创建一个提交对象,指向这个树对象。

多次提交形成提交对象的链式结构

  1. 提交对象还包含作者的姓名,邮箱等信息。
  2. 如果这不是第一次提交,提交对象还包含指向上次提交的指针。
  3. 随着时间的推移,多次提交形成提交对象的链式结构

git分支的本质

git 初始化时的master指针指代的就是提交对象形成的这条链的“主分支”。在使用版本回退时,实际上就是操作master的前后移动。

创建一个分支,就是创建一个类似master的新指针。

现在有了两个指针,那如何使这个链式结构分叉呢,这里有个HEAD特殊指针,HEAD指向哪里,当前的操作就提交到那个分支上。

当HEAD切换时,使两个不同的提交基于同一个父提交,那分支就产生了。

git创建分支的特点

git创建分支沿用了保存文件变化记录的优势,使得分支的创建和销毁异常高效。其他版本控制系统却是通过文件复制备份实现的分支,原始而低效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值