Visual Studio 集成 Commit Graph 功能,可提高 Git 操作性能
什么是commit-graph,它有什么用?
commit-graph是一种二进制文件格式,它将Git的commit历史结构化表示出来。解析commit-graph文件格式比解压commit文件并解析它们去寻找它们的父节点和根节点更快。甚至能够达到10倍的性能提升。
除此之外,commit-graph还使用一个值来避免完全解析某些commits,该操作可以减少我们需要遍历的提交数量。
另外,现在按拓扑顺序对提交进行排序所花费的时间有了极大的提升,为git log --graph
使用了关键路径算法。
怎么使用新功能?
如果您使用的是 Git 2.23.0 或更高版本,您只需要进行以下配置:
git config --global core.commitGraph true
:这使每个 Git 存储库都可以提交commit-graph文件(如果存在)。git config --global gc.writeCommitGraph true
:此设置告诉git gc
命令在您进行非常规垃圾收集时写入commit-graph文件。与完整的 GC 操作相比,重写提交图文件是一个相对较小的操作。git commit-graph write --reachable
:此命令将更新您的提交图文件以包含所有可访问的提交。您可以运行它来立即创建commit-graph文件,而不是等待 GC 操作。