(四) Git对象

$ git cat-file -t ID号 查看此ID号对应的对象类型(commit、tree、parent、blob)

$ git cat-file -p ID号 查看此ID号对应的对象内容

这些对象保存在Git库中的objects目录下(ID前两位作为目录名,后38位作为文件名)

通过commit对象之间的相互关联,可以很容易地识别出一条跟踪链,这条跟踪链可以在运行git log命令时通过--graph参数看到。使用--pretty=raw参数可以显示每个提交对象的parent属性。跟踪链终结在最后一个提交,它没有parent属性,这实际上是提交的起点。

$ git branch 显示工作分支 当前工作分支在名称前有个*号

访问Git库中的对象

采用部分的SHA1哈希值。不必把40位的哈希值写全,只采用开头的部分(4位以上),只要不与现有的其他哈希值冲突即可。

使用master代表分支master中最新的提交,也可以使用全称refs/heads/master或heads/master。

使用HEAD代表版本库中最近的一次提交。

符号^可以指代父提交,^^则为父提交的父提交。

对于一个提交有多个父提交,可以在符号^的后面用数字表示是第几个父提交。

符号~可以用于指代祖先提交。

提交所对应的树对象,可以用d83u59^{tree}这样的语法访问。

某一次提交对应的文件对象,可以用d83u59:path/to/file这样的语法访问。

暂存区中的文件对象,可以用:path/to/file访问。

文章导航