Git:Git对象(HEAD,master,branch)

本文深入探讨了Git版本控制系统中的核心概念,包括对象库的工作原理、commit与tree对象的关系、分支如何通过引用进行管理等内容。通过实例展示了commit、tree、blob等对象之间的关联方式,并解释了分支是如何通过HEAD和引用指向特定commit。
摘要由CSDN通过智能技术生成
一、Git对象库的探秘 
图像
1.查看最新1个commit的原始内容; 
2.commit 9efaef05b3a6baaebc2b3c5dc1aa4710131e1b68:是本次提交的唯一标识; 
  tree 6222d0694ffcab4de64f6a43d8d480afdecb4d35:本地提交所对应的目录了树; 
  parent ec57d1f31c5f01c1a47bf7b13787705a01fb733c:本次提交的上一次提交; 
3.查看6222d0为tree类型; 
4.查看ec57d1为commit类型; 
5.查看9efaef为 commit类型; 
图像
6.查看6222d0的内容是一个blod对象,保存着文件welcome.txt的内容; 
7.查看ec57d1为上一个commit内容; 
8.查看9efaef为 当前commit内容; 
图像
9.上面的tree对象是一个blob对象; 
10.内容为welcome.txt的内容Hello; 
图像
11.这些对象存储在Git库中的objects目录下(id的前两位是目录名,后38位是文件名); 
由此,可以了解Git版本库对象关系图如下: 
图像
图像
12.查看commit的相互关联关系,最后一个提交没有parent属性; 
二、Git分支的探秘 
图像
1.查看当前只有master分支; 
图像
2.查看HEAD、master、和refs/heads/master指向同一个commit(f22d9e); 
图像
3.查看.git库中,HEAD和master相关的目录; 
图像
4.查看.git/HEAD的内容为refs/heads/master分支的引用; 
5.查看.git/refs/heads/master的commit为f22d9e; 
6.查看f22d9e的类型为commit类型; 
7.查看f22d93的内容为最新的commit add stash.txt; 
从上面的分析不难得出,如下的Git版本库结构图: 
图像
目录.git/refs是保存引用的命令控件,启动.git/refs/heads目录下引用又称为分支;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值