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

来源:互联网 发布:java的对称杨辉三角 编辑:程序博客网 时间:2024/05/16 16:21
一、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目录下引用又称为分支;
1 0
原创粉丝点击