Git-理论篇-底层存储和分支结构

本文详细介绍了Git的底层存储机制,包括文件快照和提交对象,以及分支的基本概念和结构。重点阐述了分支的动态指针特性,如何新建、提交、合并和切换分支。此外,还探讨了Git为何能在分支操作上实现快速和智能的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

存储

Git的底层存储是以文件快照实现的,对版本的存储是通过文件快照整体进行存储,重复的文件通过指针索引源文件,不重复存储;而非SVN和CVS存储各版本文件之间的差异;

分支

分支(Branch),是Git依靠底层文件快照存储系统为上层服务提供的解决方案;解决项目中同时存在多个父子版本在交叉进行创建版本和合并版本的需求;

分支存在于各个版本库中(本地版本库&远程版本库),个人认为有必要在实际操作之前先了解一下分支的概念;

我们在实际操作中,不论是是在命令行还是在IDEA,都会经常看见类似的关键字:origin、master、origin/master;这些都是跟分支相关的关键字;

存储过程

这一切我们从提交这个操作开始说起:

提交对象

Git针对每次提交都会生成一个提交对象,这个提交对象的内容有:
1、一个指向文件快照的指针;
2、本次提交的相关信息;
3、指向父对象的指针
(该指针为零或多个:初次提交没有父对象,合并操作会有多个父对象);
这里写图片描述
如上图所示:
三次提交生成提交对象:commitA、commitB、commitC;
每个提交对象都有一个对应的文件快照,该文件快照记录着当前提交完成后版本库的文件状态;
除了第一次提

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值