数码帮手
白蓝主题五 · 清爽阅读
首页  > 视频工具

Git性能优化技巧:让代码管理更流畅(实战经验分享)

减少仓库体积,提升响应速度

项目做着做着,Git 仓库越来越大,每次提交、切换分支都像在等公交车,半天不动。其实很多是历史大文件惹的祸。比如某次误把视频素材、日志包或者 node_modules 提交进去了,就算删了,Git 还记着。这时候可以用 git filter-branchgit filter-repo 清理。

git filter-repo --path large-video.mp4 --invert-paths

这行命令能从历史中彻底移除指定大文件,瘦身之后,克隆和拉取都会快不少。

用 shallow clone 快速上手

新同事加入项目,克隆动辄几百兆甚至上G,等得人都困了。如果只是想跑通代码,不需要完整历史,可以用浅层克隆:

git clone --depth 1 https://github.com/your/project.git

只拉最近一次提交,速度立竿见影。等真需要查老版本时再补全历史也不迟。

关闭不必要的文件监控

有些编辑器或 IDE 会实时扫描 Git 状态,一有改动就刷新,机器配置差一点就卡成幻灯片。比如 VS Code 的 Git 插件,可以在设置里调低扫描频率,或者干脆关掉自动刷新。

另外 Windows 用户常遇到的一个问题是文件权限变更被频繁标记。可以加一行配置避免干扰:

git config core.fileMode false

省去一堆无关紧要的修改提示,界面清爽多了。

合理使用 .gitignore

别小看这个文件,写得好能省下大把时间。编译产物、缓存、临时文件统统不进版本控制。比如做视频处理工具的项目,自动生成的缩略图序列帧、临时音频混轨文件,都应该提前屏蔽。

*.tmp
/thumbnails/
/build/
.DS_Store

这样每次状态检查就不会扫到这些垃圾,git status 一敲立马出结果。

启用压缩和传输

网络慢的时候,推拉代码特别煎熬。可以调整 Git 的压缩级别来减少传输量:

git config pack.compression 9

虽然本地压缩多花点 CPU,但传得少,总体更快。配合 SSH 而不是 HTTPS 协议,还能减少握手开销,尤其适合团队频繁交互的场景。

分拆巨型仓库

一个项目塞了前端、后端、脚本、视频模板,越来越臃肿。不如按功能拆成多个小仓库,或者上 Git Submodules。比如把视频导出模板单独拎出来,主项目只引用它的 commit 版本。

这样每次更新不影响其他部分,克隆也更有针对性。就像搬家,分成几个箱子比硬塞一个巨箱好搬多了。