You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub仓库无大文件却启用LFS?如何撤销恢复?

问题原因
  • 你之前添加的Unity专属.gitattributes文件(多半是Unity模板自动生成或手动配置的),把大量Unity常用资源格式(比如.fbx、.png、.mat、.prefab等)都标记成了LFS追踪对象。这些文件单个虽没超20MB,但架不住数量庞大,累积上传后直接耗掉了近80%的LFS配额。
  • GitHub Desktop推送卡住,本质是LFS对象数量、体积过大,客户端处理时超时或资源不足导致的。
解决步骤

1. 撤销过度的LFS追踪配置

  • 打开项目根目录的.gitattributes文件,删掉所有和LFS相关的规则行(比如带filter=lfs、diff=lfs、merge=lfs的内容,以及对应文件类型的标记)。如果是Unity自动生成的文件,也可以直接替换成只针对大文件的精简版本。
  • 在Git Bash里执行以下命令,停止追踪原LFS文件并提交修改:
    # 逐个取消已追踪的文件类型,或者编辑.gitattributes后直接执行下面的添加提交
    git lfs untrack "*.fbx"
    git lfs untrack "*.png"
    git lfs untrack "*.mat"
    git add .gitattributes
    git commit -m "Remove excessive LFS tracking rules"
    

2. 清理远程仓库的LFS对象(可选,用于回收配额)

⚠️ 注意:此操作会修改远程仓库历史,若团队协作务必提前和队友沟通!

  • 把本地仓库中已被LFS追踪的文件转换回普通Git对象:
    git lfs migrate export --everything --include="*.fbx,*.png,*.mat"
    # 替换成你之前用LFS追踪的所有文件类型
    
  • 强制推送到远程分支:
    git push origin main --force
    
  • 登录GitHub仓库后台,进入LFS存储设置页面,手动清理已废弃的LFS对象(GitHub默认会自动清理30天前的废弃对象,也可手动触发)。

3. 重新配置精准的LFS规则

  • 只给真正体积较大的文件类型开启LFS追踪(比如.psd、.blend这类源文件),在.gitattributes中添加:
    *.psd filter=lfs diff=lfs merge=lfs -text
    *.blend filter=lfs diff=lfs merge=lfs -text
    
  • 提交配置修改:
    git add .gitattributes
    git commit -m "Configure targeted LFS tracking"
    

内容的提问来源于stack exchange,提问作者StuckInPhDNoMore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:33:17