Git对象库与对象探究

 younghz原创,转载请注明:http://blog.csdn.net/u012150179/article/details/24653491

 

关于对象库中包含的内容在之前已将讨论过,可以进入.git通过ls查看:

下面主要讨论的是objects目录下的东西。

首先通过git log查看提交历史,可通过加上–pretty=raw参数获取详细信息:

包含commit对象,tree对象,以及当前提交的上一次提交parent。最下方由于是首次提交并无parent。后面的哈希值是提交的唯一ID,是一个40位的十六进制数。

怎样通过这些对象的ID查看这些对象的信息呢?git cat-file首当其冲,其两个重要参数-p-t分别代表查看ID对象的内容与类型。以上为例:

另外注意的是在第二次提交显示的parent也是commit对象,如下:

这里的几个对象(committree)有什么关系呢,通过git cat-file –p命令来研究,仍是以第二次提交为例:

记住git cat-file –p是查看内容的,所以ID对应的内容就如上所示,这里通过tree发现新的一个类型的对象就是blob类型,这个对象保存的就是你提交的文件。这样你就在库中找到了你的文件了。需注意的是:不通过这种方式在库中你是找不到你所提交的文件的,平时操作中你是在工作区中进行,所里可以看见所有文件,但当你把所有的commitpush到一个bare版本库时,你想看看版本库中都有什么,通过这个方式就OK了(最近才顿悟)。

在想看看保存文件的内容:

就不回车了,内容有点多。。

用图直观表示:

Git版本库对象关系图。。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值