您的位置:首页 > 其它

GIT历史查看命令与GIT的内部对象

2010-04-24 09:43 477 查看
GIT的历史查看

git log [branch]/[commit hash]/[tag] 显示某个分支/提交/标签的历史提交信息的概要

git log a..b 显示a-b演进中的历史信息

加参数-p可以查看详细的修改信息

git show [branch]/[commit hash]/[tag] 显示最后一次提交的详细信息

变量HEAD表示当前正在处理的分支,如果是多路合并HEAD^N表 示第N个祖先,HEAD~N表示上溯N辈的祖先

git grep "keyword" [branch]/[commit hash]/[tag] 过滤查找相应的关键字,支持grep的各种选项

GIT的对象数据库

git 使用4种类型的对象来管理系统

git cat-file 可以用来查看相应的文件,-t用来列出对象的类型,-p 用来打印对象

使用git show可以得到160位的hash值,这个值表示一个commit对象

commit对象会指向一个tree对象,即在历史记录中当前结点的tree目录的镜像;也会指向父母(parent)commit,这是为了和之前的commit建立关联。

tree对象用于显示一个目录的状态,tree对象中包含了blob对象和子目录对象。

blob对象包含的是文件的数据。

每个分支的HEAD会存储在.git/refs/heads中。同时,当前所在分支的头部会存储在.git/HEAD中。

GIT的索引文件

索引文件的作用参见另两篇文档,用引用的话来说:

位于./git/index,可以使用命令git ls-files --stage 来查看,对于列出的hash用git-catfile查看,可以得到最新的修改

因此,git add的作用就是创建一个blob文件来记录最新的修改代码,并且在index file里添加一个到此blob的链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: