git仓库的组成

28 篇文章 0 订阅
5 篇文章 0 订阅

git仓库就是代码仓库的意思,不一定就存代码,就存放代码或者文件的地方。

英文单词是Repository.

git由什么对象组成的?

git系统由三种对象组成,分别是

(1)提交(commit)

(2)树(tree)

(3)原文(blob)

根据三者之间的关系进行各个概念的讲解。

先看一张图


git的每一次提交是一个commit对象,这个对象中又包括这几个内容:

tree对象:真正记录文件改变的记录,是tree的地址,指向真正的记录地址

author:文件的创建者,第一次是放在仓库的

commiter:就是这次是谁提交的

comment:这次提交的注释


tree对象记录了这次提交的记录,每一个文件代表一个blob,指向一个文件地址。

tree里面还可以包括tree对象,就像目录似的还有子目录。


上面这就是一次提交的commit操作的结果。是不是关系也搞懂了,概念也搞懂了。


每次提交git都会生成一个快照(snapshot),每提交一次生成一个快照,这次的快照是上次的快照基础上生成的。

请看下图




一共提交了三次,生成了三次快照,这次快照将会完整的保存下来。每次快照都是在上一次快照的基础上生成的,第一次入仓库时也会提供一个快照。

这些生成的一个链条,就可以理解为一个分支。分支将会再下个博客中讲解。


git仓库存放在哪呢?就是在当前工作目录的.git文件夹下。

.git/objects  存放所有的对象

.git/heads   存放的所有分支,这里仅仅是一个引用,每个引用引用的都是该分支最后一次提交的记录。

.git/refs/tags  所有的tag,方便以后查看的标签

.git/logs/HEAD  HEAD的历史变化
.git/refs/heads  除了master分支之外的其他分支HEAD的变化历史


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值