多迈知识库
第二套高阶模板 · 更大气的阅读体验

git提交代码速度慢怎么办

发布时间:2026-01-18 16:10:23 阅读:459 次

检查网络连接和远程仓库位置

有时候提交代码慢,其实卡在推送(push)环节,而不是本地提交。比如你在深圳,但远程仓库放在美国的服务器上,每次 push 都得跨洋传输,延迟自然高。可以尝试切换到国内镜像仓库,比如阿里云、Gitee 或者腾讯云 Code 的镜像,提升访问速度。

如果公司内部有 GitLab 自建服务,确认自己连的是内网地址,而不是通过公网绕一圈再回来。

减少单次提交的文件数量

一次提交几千个小文件,Git 得一个个计算哈希,速度肯定上不去。就像超市结账,你拿一购物车东西,收银员扫码就得十分钟。建议把大批次变更拆成几次小提交,不仅速度快,出问题也更容易回滚。

可以用 git status 看看当前有哪些文件要提交,不必要的临时文件或日志先排除。

清理工作区的大文件和历史记录

项目里混进了几个几百MB的日志文件或压缩包?Git 会把这些内容纳入索引,导致每次操作都变慢。用 git rm --cached 把不该提交的文件从缓存中移除,并加到 .gitignore 里。

如果历史提交中已经有大文件,考虑用 git filter-branchgit-filter-repo 工具重写历史,清除它们。

关闭不必要的文件监控

有些编辑器或 IDE(比如 VSCode、WebStorm)会实时扫描整个项目文件变化,加上 Git 自身的文件状态检查,双重扫描会让系统卡顿。尤其是 Windows 用户,磁盘 I/O 跟不上,感觉更明显。

可以尝试关闭编辑器的“自动保存”或“文件监听”功能,或者把项目移到 SSD 上。

使用 git config 优化性能

Git 本身有一些配置项能提升效率。比如禁用文件权限检查(尤其在 Linux/macOS 和 Windows 之间协作时):

git config core.fileMode false

如果不需要换行符自动转换,也可以关掉:

git config core.autocrlf false

对于大型仓库,启用稀疏检出(sparse checkout)只拉取需要的目录,也能加快操作速度:

git config core.sparsecheckout true
echo "src/app/" >> .git/info/sparse-checkout
git read-tree -m -u HEAD

考虑使用 shallow clone

如果你只关心最新的代码,不需要完整历史,可以用浅克隆方式拉取:

git clone --depth 1 https://example.com/repo.git

这样不会下载完整的提交历史,克隆和提交前的准备动作都会快很多。适合 CI/CD 环境或临时调试。

排查杀毒软件或同步工具干扰

Windows 上某些杀毒软件或同步工具(比如 OneDrive、360、腾讯电脑管家)会实时扫描每个文件变动。你一提交,它们就开始忙,拖慢整体速度。可以把项目目录加入排除列表,避免被监控。

macOS 用户注意 iCloud 同步是否覆盖了项目文件夹,也会造成类似问题。