怎么在Linux利用Git-LFS管理大文件静态资源避免自动化拉取代码时由于带宽阻塞

梦晨吖_5298

梦晨吖_5298

2026-05-19

1087人浏览

原创

应按需控制Git LFS下载行为:CI中禁用自动拉取,仅显式获取必需文件;源稿(.psd/.fbx)进LFS但跳过下载,成品资源据体积和更新频率选择直存Git或LFS;配合.gitattributes、.lfsconfig、git lfs prune及校验确保稳定。

怎么在linux利用git-lfs管理大文件静态资源避免自动化拉取代码时由于带宽阻塞

在Linux上用Git LFS管理大文件静态资源时,自动化拉取(比如CI/CD流水线中执行 git clone)默认会下载所有LFS对象,容易引发带宽打满、超时失败或构建卡顿。关键不是“禁用LFS”,而是**按需控制下载行为**——让自动化流程只拉取真正需要的资源,跳过无关的大文件。

明确区分用途:CI环境只需运行时文件,不需设计源稿

多数静态资源(如.psd、.fbx、.aep)是设计/美术产出的原始文件,CI构建根本用不到;而.png、.glb、.mp3等才是实际打包发布的成品。应按用途分类跟踪:

  • 用 git lfs track "*.psd"、git lfs track "*.blend" 等标记源文件——它们进LFS,但CI可跳过
  • 对导出后的成品(如 assets/*.png),可选择是否进LFS:若体积稳定且变更少,直接纳入Git更轻量;若频繁更新且单个超50MB,再用LFS
  • 提交 .gitattributes 后务必 git add .gitattributes 并 commit,否则LFS规则不生效

CI脚本中禁用自动LFS下载,按需触发

默认 git clone 会调用 git lfs pull 下载全部LFS对象。在CI中应关闭该行为,改用显式、受限的拉取:

digital-solution-designer
digital-solution-designer

系统化设计数字化解决方案,涵盖方案类型识别、政策背景分析、需求分析、建设思路设计、架构设计(业务、功能、数据、技术四维度)、技术选型、具体建设内容、实施规划、风险评估和投资估算的全流程能力。适用于规划类、申报类、可研类、投标类和工作汇报类等多种方案产出场景,覆盖政府数字化转型和企业数字化转型两大核心领域。

下载
  • 克隆时加参数:git clone -c filter.lfs.smudge=false -c filter.lfs.required=false —— 完全跳过LFS smudge,工作区只留指针文件
  • 后续仅下载必需文件:git lfs checkout -- assets/textures/ main_menu_bg.png 或 git lfs fetch --include="assets/**.glb" && git lfs checkout
  • 若使用GitHub Actions,可在 actions/checkout@v4 中设置:lfs: false,再单独用 git lfs pull --include 指定路径

预过滤LFS对象,减小远程传输量

即使跳过自动下载,git clone 仍会拉取LFS指针和元数据(很小),但远程LFS服务器可能存有大量历史版本。可通过以下方式清理冗余:

  • 定期运行 git lfs prune 删除本地已不用的LFS缓存(建议放在CI清理步骤)
  • 在仓库根目录建 .lfsconfig,指定LFS服务器地址,避免误连公共LFS服务
  • 对长期不用的旧分支,用 git lfs migrate import --include="*.wav" --exclude="*" --to-ref=main 将特定文件迁移到新分支,再删除旧ref,减少LFS对象总数

验证与兜底:确保关键文件一定就位

自动化流程不能依赖“运气”。应在拉取后加校验步骤:

  • 检查指针文件是否完整:find . -name "*.png" -path "./assets/*" -exec grep -q "version https://git-lfs.github.com/spec/v1" {} \; -print | wc -l
  • 对必须存在的文件,强制拉取并校验大小:git lfs checkout assets/icon.svg && [ $(stat -c%s assets/icon.svg) -gt 1000 ] || exit 1
  • 若项目允许,将核心静态资源(如logo、启动图)直接放入Git(

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux git

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4310

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3633

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2873

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7090

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6722

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3853

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3345

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3579

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习