首页/开发/Git 与协作速查/Trace2 诊断 Git 命令性能
进阶与大仓实践69 条

Trace2 诊断 Git 命令性能

用 GIT_TRACE2_PERF 记录命令内部耗时,定位是网络、索引还是磁盘导致慢;诊断完记得关闭,避免日志影响正常使用。

Git 与协作速查开发更新于 2026-10-12
常用变量GIT_TRACE2=1(简要)、GIT_TRACE2_PERF=1(性能事件)
输出默认 stderr;可指定文件路径收集
配套GIT_TRACE=1 追踪子进程调用

常用示例

常用示例
GIT_TRACE2_PERF=1 git status 2> trace.log
grep -E 'refresh|read_index|stat' trace.log | head
GIT_TRACE=1 git fetch origin 2>&1 | head -30
先复现慢命令再采集日志;带 GIT_TRACE2_PERF 的日志可交给分析工具统计各阶段耗时。

易错点

  • 追踪日志会显著增大输出,长时间开启可能拖慢交互操作
  • 日志里可能包含仓库路径与远端地址,分享前先检查内容

数据来源与参考

  • Git 官方文档:git(GIT_TRACE2 环境变量)
  • Git Trace2 API 文档(api-trace2)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌