在日常开发中,本地仓库跑得慢真是让人头疼。比如你刚拉完代码,切个分支要等十秒,提交一次还要卡半天,喝杯咖啡都不够。其实很多问题不是机器不行,而是配置没到位。下面这些优化技巧,都是实际项目里踩过坑后总结出来的。
合理设置 Git 缓存
如果你的项目文件多,尤其是前端项目 node_modules 动辄上万个小文件,Git 默认的监控方式会拖慢响应。启用文件系统缓存能明显改善:
git config core.precomposeUnicode true
git config core.fscache true
Windows 用户还可以打开索引缓存:
git config core.useBuiltinFSMonitor true
减少不必要的文件追踪
很多人忽略了 .gitignore 的重要性。日志、临时文件、编译产物全被 Git 扫一遍,自然卡。一个干净的 .gitignore 能省下大量资源。比如 Python 项目至少要有:
*.pyc
__pycache__/
dist/
build/
前端项目记得加上 node_modules/ 和 .env.local,别让 Git 白忙活。
用稀疏检出减少工作区体积
有些仓库特别大,但你只关心其中几个目录。比如公司统一仓库包含前后端、文档、脚本,而你只做后台开发。这时候可以用稀疏检出:
git config core.sparseCheckout true
echo "src/backend/" >> .git/info/sparse-checkout
git read-tree -m -u HEAD
这样工作区只会拉你需要的文件,磁盘和内存压力都小了。
定期清理垃圾对象
频繁提交、合并、重置会产生大量孤立对象。虽然 Git 会自动 gc,但有时候跟不上节奏。手动触发一次深度清理:
git gc --aggressive --prune=now
注意这个命令耗时较长,建议下班前执行。清理后你会发现 diff 和 log 都快了不少。
换用更快的协议和远程地址
如果每次 push/pull 都慢,先检查远程地址是不是 HTTPS。如果是,换成 SSH 通常更稳定快速:
git remote set-url origin git@github.com:username/repo.git
另外确保 SSH 已配置连接复用,避免每次认证都握手:
# 在 ~/.ssh/config 中加入
Host github.com
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 600
调整索引更新频率
频繁保存文件时,编辑器不断触发 Git 状态更新,容易卡顿。可以适当延长状态检查间隔:
git config status.showUntrackedFiles fast
再配合 VS Code 这类编辑器的 settings.json,关闭实时 Git 扫描:
{
"git.autorefresh": false,
"git.refreshOnFocus": true
}
切换回编辑器时才刷新,体验顺滑很多。
这些方法不用全上,挑适合你项目的试试。有时候改一行配置,就能从“等得想砸电脑”变成“丝般顺滑”。