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

Git LFS对象上传成功却无法推送到远程仓库求助

解决Git LFS追踪文件但push仍触发大小限制的问题

问题根源

当前版本的大文件已被LFS追踪,但Git历史提交记录中仍保留了这些文件的普通版本。GitHub的预接收钩子会扫描整个提交历史,因此即使当前版本用LFS管理,历史里的大文件依然会触发100MB大小限制。

解决步骤

  1. 备份本地仓库
    先复制一份本地仓库目录到其他位置,防止操作失误丢失数据。

  2. 重写Git历史,将大文件转为LFS对象
    使用git lfs migrate命令批量处理历史中的大文件:

    • 指定具体文件处理:
      git lfs migrate import --include="client/data.ms/indexes/18a4b1f0-393d-434d-9129-9f15c834fb61/data.mdb,client/meilisearch"
      
    • 批量处理所有超过100MB的文件:
      git lfs migrate import --above="100MB"
      

    该命令会重写所有提交历史,把指定大文件替换为LFS指针。

  3. 强制推送重写后的历史
    因修改了历史记录,需强制推送到远程:

    git push origin master --force
    
  4. 验证结果
    推送完成后,执行git lfs ls-files确认所有大文件都被正确追踪,也可登录GitHub仓库查看文件是否显示LFS标识(文件旁会有"LFS"标记)。

注意事项

  • 若仓库为多人协作,强制推送会覆盖远程历史,需通知所有协作者重新拉取仓库,并清理本地旧的历史分支。
  • 确保本地已正确安装并初始化Git LFS(执行git lfs install确认)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:42:41