GitHub推送远程仓库报错:大文件超大小限制,配置LFS后仍失败如何解决
问题原因
你之所以配置完Git LFS后依然推送失败,是因为该大文件已经被提交到了Git普通提交历史中:GitHub的推送检测会扫描所有提交记录里的文件,就算你之后用LFS配置了追踪,旧提交里存储的完整大文件依然会触发大小限制。
解决步骤
场景1:大文件仅存在于最近1次未推送的提交中
- 先撤销最近一次提交,保留工作区文件改动:
git reset --soft HEAD~1
- 配置LFS追踪该大文件(如果是同类型的大文件可以直接匹配后缀):
git lfs track "xxxxxx.csv" # 或批量追踪所有csv文件:git lfs track "*.csv"
- 确认.gitattributes已经生成对应规则后,重新提交文件:
git add .gitattributes git add xxxxxx.csv git commit -m "track large csv with Git LFS"
- 再次执行推送即可:
git push origin main
场景2:大文件已经存在于多段提交历史中
如果该大文件已经被提交了多次,需要用LFS的迁移工具把历史里的对应文件全部转为LFS管理:
- 执行全局迁移命令,扫描所有提交记录转换csv文件:
git lfs migrate import --include="*.csv" --everything
- 迁移完成后直接执行推送即可。
注意:执行迁移操作前请确保本地没有未提交的改动,避免文件丢失。
内容的提问来源于stack exchange,提问作者Nikhil Jothi Prakash
相关产品推荐
相关产品推荐

