如何提升工作目录位于网络共享盘时的Git操作运行性能?
Git网络共享盘运行性能优化方案
核心配置参数调整
- 关闭文件系统预加载与缓存特性:网络共享盘不支持本地文件系统的事件通知机制,开启预加载索引、文件系统缓存会触发大量冗余IO遍历,执行以下命令关闭:
git config --global core.preloadindex false git config --global core.fscache false
- 降低对象压缩级别:默认压缩等级为6,平衡压缩比与速度,网络IO瓶颈场景下调低压缩等级可大幅减少CPU计算与小IO写入次数,存储空间占用仅小幅上升:
git config --global core.compression 1 - 关闭自动垃圾回收触发:避免日常操作过程中自动触发全库扫描类的gc操作,可选择空闲时段手动执行git gc:
git config --global gc.auto 0 - 限制打包操作内存占用:避免打包过程中生成大量临时文件写入网络盘,限制内存使用阈值减少临时IO:
git config --global pack.windowMemory 128m
克隆操作专项优化
- 浅克隆:仅需最新版本无需历史提交时,使用浅克隆拉取,数据拉取量可降低90%以上:
git clone --depth 1 <仓库地址> - 单分支拉取:不需要全部分支时,指定仅拉取目标分支:
git clone --single-branch --branch <目标分支名> <仓库地址> - 大文件仓库调整传输缓冲区:针对大文件占比高的仓库,调高HTTP传输缓冲区减少交互次数:
git config --global http.postBuffer 524288000
日常操作注意事项
- 所有全局配置存储在用户目录的
.gitconfig文件中,不要写入网络盘内仓库的本地配置,减少仓库目录的读写次数 - 执行差异对比、状态查询类操作时,优先指定目标文件路径,避免触发全目录遍历扫描
内容的提问来源于stack exchange,提问作者M2014
相关产品推荐
相关产品推荐

