【Git、GitHub、GitLab】六 GIT中commit、tree和blob三个对象之间的关系

上一篇文章学习了git裸仓库.git中的内容,点击查看上一篇文章:【Git、GitHub、GitLab】五 git中裸仓库.git下的内容

本篇文章记录学习git中commit、tree和blob三个对象之间的关系。

首先需要会使用下面的命令:

  • cat 命令, 功能:用来显示文件。 例如 cat text.md 显示 text.md 文件的内容
  • ls -al 命令, 表示列出当前目录下的所有文件(包括隐藏文件)
  • git cat-file -t + 对象哈希值 命令 , 查看 git 对象的类型
  • git cat-file -p + 对象哈希值 命令, 查看 git 对象的内容
  • git cat-file -s + 对象哈希值 命令, 查看 git 对象的大小

注意,在使用对象的哈希值的时候可以只取前几位数字,只要git不保存就行

  • commit我们很熟悉了
  • tree就类似于一棵树,这棵树下还存有其他的tree或者其他的blob文件
  • blob就是一个文件,是可以显示的文件。也就是可以使用git cat-file -p + 对象哈希值 来查看blob对象存的内容。

下面我们以之前我们做建立的git仓库为例,说明一下commit、tree、blob之间的关系,点击链接查看之前建立仓库的文章:【Git、GitHub、GitLab】三 Git基本命令之创建仓库并向仓库中添加文件

该仓库的根目录下的内容如下图;
在这里插入图片描述

下图是针对上述仓库中,commit、tree以及blob三者之间的关系。

在这里插入图片描述

其中注意一点:blob是根据文件的内容来区分的,只要文件内容一样,就只有一个blob,与文件名没有任何关系,大大的节约了存储空间

  • 新建的Git仓库,有且仅有1个commit,仅仅包含 /doc/readme ,请问内含多少个tree,多少个blob?

在这里插入图片描述

  • 一共包含两个tree,一个blob,一个commit。如上图所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Git、GitHub、GitLab】十 将git仓库备份到本地

上一篇文章学习记录了工作中常用的一些git命令,点击链接查看:【Git、GitHub、GitLab】九 工作中非常重要的一些git用法 文章目录1 git的传输协议2 如何将git仓库备份到本地2.1 使用哑协议备份2.2 使用智能协议备份1 git的传输协议 哑协议与智能协议的区别…

java-XML

XML不再多说,XML 约束也不用说了,这里讲讲java如何对XML操作。 java中使用XML,目前常用的就是Jaxp(sun)和dom4j了,这里先讲讲java自带的Jaxp包 JAXP 开发包是J2SE的一部分,它由javax.xml、org.w3c.dom 、org.xml.sax 包…

【C语言进阶深度学习记录】一 数据类型的本质与变量的本质

今天学习C语言中的数据类型的本质与变量的本质 文章目录1 什么是数据类型2 变量的本质3 数据类型与变量的关系4 自定义数据类型与创建变量5 总结1 什么是数据类型 数据类型可以理解为固定内存大小的别名数据类型是创建变量的模子 如同下面的图示,各个数据类型是代…

使用第三方Markdown编辑器编辑为知笔记

前言 为知笔记默认的编辑器并没有预览功能,而提供的MD编辑器插件也并不是很好用,但为知笔记提供了可以使用第三方编辑器的功能,Typora编辑器是目前最优秀的Markdown编辑器之一,可以很好作为第三方编辑器。 Typora介绍 Typora是…

【C语言进阶深度学习记录】二 有符号与无符号

今天学习C语言中的有符号与无符号 文章目录1 计算机中的符号位1.1 有符号数的表示法1.2 无符号数的表示法1.3 signed 和 unsigned2 实验-当有符号数与无符号数进行运算3 错误的使用了unsigned4 总结1 计算机中的符号位 C语言中,数据类型的最高位,用于标…

【C语言进阶深度学习记录】三 浮点数(float) 在内存中的表示方法

相信大多数人知道整形数在内存中的分布方式,而且也能很容易写出其二进制的形式,但是对于浮点数,估计知道的人并不是很多今天学习在C语言中浮点数在内存中的表示方法 文章目录1 浮点数在内存中的存储方式1.1 浮点数的转换步骤1.2 浮点数的转换…

【C语言进阶深度学习记录】四 C语言中的类型转换

今天学习C语言中的类型转换,包括隐式类型转换和显示类型转换 文章目录1 C语言中的数据类型转换1.1 强制类型转换1.11 强制类型转换代码分析1.2 隐式类型转换1.21 隐式类型转换代码分析2 总结1 C语言中的数据类型转换 C语言中,可以进行数据类…

【C语言进阶深度学习记录】五 C语言中变量的属性

上一篇文章学习了C语言中的类型转换,点击链接查看:【C语言进阶深度学习记录】四 C语言中的类型转换. 文章目录1 C语言的变量属性1.1 auto关键字1.2 register关键字1.3 static 关键字1.4 代码案例分析1.5 extern 关键字1.6 代码案例分析2 总结1 C语言的变…

【C语言进阶深度学习记录】六 C语言中的分支语句

文章目录1 if 语句的分析1.1 if 语句中零值比较的注意点2 switch 语句的分析3 if 与switch语句使用代码案例分析4 if语句与switch语句的互换5 总结1 if 语句的分析 if 语句根据条件选择执行语句else 不能独立存在,且总是与距离它最近的if匹配else 语句可以连接其他…

【C语言进阶深度学习记录】七 C语言中的循环语句

文章目录1 循环语句分析1.1 do...while循环1.2 while循环1.3 for循环1.4 三种循环语句使用对比2 break和continue的区别3 总结1 循环语句分析 C语言中的循环语句主要有for循环,while循环和do…while循环。 循环语句的基本工作方式: 通过条件表达式判断…

【C语言进阶深度学习记录】八 C语言中void的分析

文章目录1 void的意义1.1 不存在void变量1.2 C标准1.3 void指针的意义1.4 通过void* 实现memset函数2 总结1 void的意义 void修饰函数的参数和返回值的时候: 如果函数没有返回值应该将其返回值声明为void如果函数没有参数,应该将函数的参数声明为void如…

【C语言进阶深度学习记录】九 C语言中const的详细分析

文章目录1 const的分析2 const本质的分析实验2.1 代码案例分析3 const修饰函数参数和返回值时的情况3.1 代码案例分析4 总结1 const的分析 不管是C语言还是C语言,const都是一个非常重要的关键字。今天这篇文章着重学习记录C语言中的const。C语言中稍有不同。 在C语…

【C语言进阶深度学习记录】十 C语言中:struct的柔性数组和union分析

本文并不讲C语言的基础 文章目录1 空struct的大小2 结构体与柔性数组2.1 柔性数组的使用方法2.2 柔性数组使用代码案例分析3 C语言中的union分析3.1 使用union判断系统大小端4 总结1 空struct的大小 C语言中的struct可以看成是变量的集合 如果一个struct里面什么都没有&#…

【C语言进阶深度学习记录】十一 C语言中enum,sizeof,typedef分析

文章目录1 enum 枚举类型的使用方法1.1 enum枚举类型的特殊意义1.2 代码分析:enum的使用2 sizeof 关键字的用法2.1 代码案例分析:sizeof的本质3 typedef的意义3.1 代码案例:typedef 的使用案例4 总结1 enum 枚举类型的使用方法 enum是C语言中…

【C语言进阶深度学习记录】十二 C语言中的:字符和字符串

文章目录1 C语言中的单引号和双引号1.1 双引号带来的BUG2 总结1 C语言中的单引号和双引号 C语言中的单引号用来表示字符字面量C语言中的双引号用来表示字符串字面量,存储于全局的只读存储区 注意上面的字符与字符串的区别 下面的程序片段是否合法? 上面…

PetShop的系统架构设计[转]

前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关…

【C语言进阶深度学习记录】十三 C语言中 ++和--操作符

学习交流加(可免费帮忙下载CSDN资源):个人微信: liu1126137994学习交流资源分享qq群1(已满): 962535112学习交流资源分享qq群2: 780902027 文章目录1 和--操作符的本质2 总结1 和–操…

【C语言进阶深度学习记录】十四 C语言中 三目运算符和逗号表达式

文章目录1 三目运算符1.1 三目运算符的返回类型的代码案例分析2 逗号表达式2.1 逗号表达式代码案例分析2.2 如何用一行代码实现 strlen函数3 总结1 三目运算符 三目运算符(a?b:c)可以作为逻辑运算的载体规则: 当a为真时,返回b,否…

POJ 1719 Shooting Contest

题目&#xff1a;http://poj.org/problem?id1719 要求每一行必须都被射到&#xff0c;每一列恰好一个格子被射到。 通过行r去求匹配数num 当r<c时&#xff0c;num是可以等于r的 这时候每一行都被射到过&#xff0c;可能存在列没有被射到&#xff0c;可以再该列中任意选一个…