首页/开发/Git 与协作速查/commit-graph 加速历史遍历
进阶与大仓实践69 条

commit-graph 加速历史遍历

把提交的父子关系与序号写入图形文件,git log、merge-base 等历史类命令可显著提速;git gc 会顺带生成,也可手动写入与校验。

Git 与协作速查开发更新于 2026-10-12
写入git commit-graph write --reachable
校验git commit-graph verify
自动gc.writeCommitGraph 默认开启,随 gc 更新

常用示例

常用示例
git commit-graph write --reachable
git commit-graph verify
time git log --oneline -1 --graph | head
图形文件位于 .git/objects/info/commit-graph;每次重写历史或大搬家后建议重新生成。

易错点

  • 历史被改写(filter-repo 等)后旧图形文件可能过期,重新写入再验证
  • 仓库由多人写入时图形文件更新是增量行为,异常时删除重建比手工修补简单

数据来源与参考

  • Git 官方文档:git-commit-graph
  • Git 官方文档:git-config(gc.writeCommitGraph)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌