GitHub推送报错:文件超出大小限制,配置Git LFS后仍无法解决
你遇到的报错是因为Git仓库中存在超过GitHub单文件100MB大小限制的文件,已经执行的Git LFS安装和跟踪规则配置未生效,是因为这些大文件已经被提交到了本地Git的普通提交历史中,Git LFS的跟踪规则仅对规则配置后新增的文件生效,不会自动处理已存在于提交历史的文件。
可按照以下步骤解决:
方案1:仅最近几次提交包含大文件
- 先撤销包含大psd文件的最近N次提交,保留本地文件不删除:
git reset --soft HEAD~N
将N替换为你实际包含大文件的提交次数,例如最近1次提交引入了大文件则替换为1。
- 将psd文件从Git暂存区移除,本地文件保留:
git rm --cached assets/img/slider/mockups/1/*.psd
如果有其他路径的psd大文件,可对应修改路径,也可全局执行git rm --cached "*.psd"。
- 提交Git LFS的跟踪规则配置文件:
git add .gitattributes git commit -m "配置LFS跟踪psd文件规则"
- 重新添加psd文件,此时Git会自动将其识别为LFS存储文件:
git add assets/img/slider/mockups/1/*.psd git commit -m "通过LFS添加psd资源文件"
- 重新推送至远程仓库即可:
git push origin main
方案2:大文件存在于多段历史提交中
如果大文件已经分布在多次历史提交里,可直接使用LFS迁移命令批量转换所有历史中的psd文件为LFS存储:
- 执行迁移命令:
git lfs migrate import --include="*.psd" --everything
- 迁移完成后强制推送修改后的提交历史:
git push --force origin main
注意:强制推送会改写远程仓库的提交历史,若仓库有其他协作者,请提前同步修改内容避免冲突,单人维护的仓库可直接执行。
内容的提问来源于stack exchange,提问作者saintyusuf
相关产品推荐
相关产品推荐

