首页/开发/Git 与协作速查/历史查询的性能习惯
进阶与大仓实践69 条

历史查询的性能习惯

历史类命令在超大仓库上差异明显:限定范围与路径、避免无界 --all、善用 --first-parent 与提交图形,能显著缩短等待时间。

Git 与协作速查开发更新于 2026-10-12
限定git log <范围> -- <路径>;-n 控制条数
取巧--first-parent 只看主线;--no-merges 看纯提交
加速commit-graph 生效后历史遍历更快;--count/--oneline 输出更轻

常用组合

常用组合
git log --oneline -20
git log --first-parent --oneline -30 origin/main
git log --since='2 weeks ago' --until='1 week ago' --no-merges
git rev-list --count HEAD
排查 log 变慢时先去掉路径参数对比,确认是历史遍历还是路径过滤的开销。

易错点

  • --follow 会触发逐文件历史追踪,在大仓上代价明显,按需使用
  • 无路径限制的全量 log 在几十万提交的仓库上几乎不可交互,先收窄范围

数据来源与参考

  • Git 官方文档:git-log(--first-parent/--no-merges)
  • Git 官方文档:git-commit-graph
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌