底层命令 Pro Git · 10.1 / 附录 A3.12

上层命令(porcelain)的积木。日常很少直接用,但排查问题、写脚本、理解原理时非常关键。

命令说明
git rev-parse HEAD把任意引用 / 表达式(HEAD~3、分支名)解析成散列
git rev-parse --show-toplevel输出当前仓库根目录的绝对路径
git rev-list --count main按反向时间列出提交并可计数(CI 版本号常用)
git merge-base main feature求两分支的最近公共祖先(三方合并的基础)
git ls-files列出索引(暂存区)中的全部文件
git ls-tree HEAD <目录>查看某次提交里的目录树结构
git cat-file -p HEAD^{tree}漂亮打印对象内容(-t 查类型,提交 / 树 / blob)
git hash-object <文件>计算文件的 Git 对象键(-w 一并写入对象库)
git symbolic-ref HEAD读 / 写符号引用,查看 HEAD 当前指向哪个分支
git update-ref refs/heads/main <散列>直接更新某个引用的值(分支指针的底层操作)
git for-each-ref --format='%(refname:short)'可格式化地遍历所有引用(分支 / 标签清单)
读懂 Git:用 git cat-file -p HEAD 打开一次提交,看它指向的 tree,再逐层展开——第 10 章讲的内部模型立刻具象化。