想知道如何通过git中的所有提交列表(或所有来自单个分支)。 git log
如何做到这一点(指向部分代码也会很酷,我只是不知道从哪里开始)?我能以某种方式在原始文件系统上执行此操作吗?如何遍历较低级别的git仓库(比git log)
推理是:需要用其他语言编写的工具不需要调用系统命令。
更新:我读过Git internals: Git objects(和后面的章节),我明白,也有包文件。我所遇到的主要问题是在运行时了解发生了什么事情:git rev-list --all
。或者 - 对于单个分支 - 没有--all
标志的相同命令。 git是否会将头部拉出来,将其从它的对象存储中拉出来,检查父母的皮肤,从对象存储中拉出那些东西?还是有其他更快的方法?
读http://git-scm.com/book/en/Git-Internals,尤其是http://git-scm.com/book/en/Git-Internals-Git-Objects – 2013-05-02 16:09:39