首页/开发/Git 与协作速查/在 CI 中使用 LFS
进阶与大仓实践69 条

在 CI 中使用 LFS

CI 有两种取舍:不需要大文件内容时跳过下载(省流量提速),需要时确保 lfs 已安装并完成 fetch,否则检出的是指针文本。

Git 与协作速查开发更新于 2026-10-12
跳过下载设置 GIT_LFS_SKIP_SMUDGE=1 再克隆/检出
需要内容安装 git-lfs → lfs install → lfs pull
校验git lfs ls-files 确认清单,检查文件大小是否为真实体量

常见写法

常见写法
# 只跑代码检查:跳过内容下载
export GIT_LFS_SKIP_SMUDGE=1
git clone --depth 1 https://example.com/app.git

# 需要大文件时
git lfs pull --include='assets/**'
构建缓存(如 artifacts)可以缓存 LFS 内容减少重复下载;缓存键加上 .gitattributes 指纹更稳。

易错点

  • 跳过下载的作业若后续读取大文件,会得到指针文本而非真实内容,报错信息不直观
  • LFS 缓存与全局 key 共用时可能互相污染,按仓库加命名空间

数据来源与参考

  • Git LFS 官方文档:GIT_LFS_SKIP_SMUDGE 与 CI 集成
  • Git LFS 官方文档:git-lfs pull
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌