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

将Git LFS仓库目录迁移至非LFS仓库失败求助

解决Git LFS迁移后.git/lfs/objects残留问题

你遗漏了几个关键的清理与验证步骤,以下是完整的修复流程:

1. 验证LFS迁移是否彻底完成

先确认所有LFS指针已替换为实际文件,且LFS跟踪规则已清除:

  • 打开.gitattributes文件,删除所有与LFS相关的配置行(例如*.zip filter=lfs diff=lfs merge=lfs -text这类规则)
  • 运行git lfs ls-files,如果无任何输出,说明所有文件已转为非LFS存储;若仍有输出,重新执行git lfs migrate export --everything --include . --verbose,通过日志排查未迁移的文件

2. 清理本地LFS缓存

git lfs migrate仅替换提交中的LFS指针,不会自动删除本地缓存的LFS对象,需手动清理:

  • 执行git lfs prune --all:该命令会删除本地仓库中不再被任何提交引用的LFS对象
  • 若.git/lfs/objects仍有残留,可直接删除整个.git/lfs目录(确认无需保留LFS缓存后再操作)

3. 移除Git配置中的LFS残留项

即便执行了git lfs uninstall,本地仓库配置可能仍残留LFS相关设置,需手动清除:

git config --unset-all filter.lfs.process
git config --unset-all filter.lfs.smudge
git config --unset-all filter.lfs.clean
git config --unset-all filter.lfs.required

4. 重新添加远程仓库并推送

完成上述步骤后,添加新远程并推送仓库:

git remote add new-origin <NEW_REPO_URL>
git push new-origin --all --tags

额外注意

  • 若你先执行git filter-repo再做LFS迁移,--everything参数已覆盖所有分支和标签,确保迁移覆盖了过滤后的所有提交
  • 推送前可使用git push --dry-run new-origin --all预览推送内容,确认无LFS相关对象被推送

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:02:28