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

Git LFS配置后仍尝试上传非LFS大文件的解决方法咨询

解决Git LFS配置后仍推送大量非LFS文件的问题

你的问题核心是之前未启用LFS时提交的大FBX文件仍存在于Git历史中,即使后续配置了LFS,Git推送时还是会尝试上传这些历史里的原始大文件。以下是彻底解决的步骤:

关键修复步骤

1. 先备份仓库(必做)

复制整个本地仓库文件夹到安全位置,防止重写历史时丢失数据。

2. 重写Git历史,将旧提交中的大文件转为LFS指针

运行以下命令,把当前分支历史中所有.fbx文件替换为LFS指针:

git lfs migrate import --include="*.fbx" --include-refs=HEAD
  • 如果需要处理所有分支,把--include-refs=HEAD改成--include-refs=all
  • 如果还有其他大文件类型(比如纹理、音频),可以扩展--include参数,例如--include="*.fbx,*.png,*.wav"

3. 验证修复结果

  • 执行git lfs ls-files,确认所有目标大文件都已被LFS跟踪
  • 查看任意旧提交中的FBX文件:git show <旧提交哈希>:Assets/Model/xxx.fbx,如果输出是类似oid sha256:xxxxxx size xxx的LFS指针,说明转换成功

4. 强制推送重写后的历史

因为修改了Git历史,需要强制覆盖远程分支:

git push --force origin <你的分支名>

注意:如果有其他协作者,必须提前告知他们,让他们放弃本地分支,重新从远程拉取最新版本,避免历史冲突。

5. 清理本地冗余数据

删除本地仓库中残留的旧非LFS大文件对象,释放磁盘空间:

git reflog expire --expire=now --all && git gc --prune=now --aggressive

额外注意事项

  • 如果你之前基于旧分支创建了新分支,需要对新分支也执行git lfs migrate import命令,或者删除新分支,基于修复后的主分支重新创建。
  • 确保.gitattributes文件已正确提交到仓库,避免后续新添加的大文件再次进入Git普通存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:36:18