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

删除大文件后Git推送仍提示超出GitHub文件大小限制求助

问题解决方案

核心原因

你手动删除public.zip仅修改了工作区的当前状态,该大文件已经被记录在你本地未推送的Git提交历史中,推送时Git会同步所有历史提交快照,因此依然会触发GitHub的文件大小限制报错。

解决步骤

方案1:仅最近1次提交包含该大文件

如果public.zip只存在于你还没推送到远程的最近一次提交中,直接修改最近的提交记录即可:

  • 删除本地残留的压缩包文件:rm public.zip
  • 将删除操作合并到最近一次提交,不修改提交信息:git commit --amend --no-edit
  • 正常推送到远程即可:git push

方案2:大文件存在于多段提交历史

如果无法确认文件出现的提交次数,或已经多次提交包含该文件,使用官方推荐的git filter-repo工具清理全量历史:

  • 首先安装工具:
    • Debian/Ubuntu系统:sudo apt install git-filter-repo
    • MacOS系统:brew install git-filter-repo
    • Windows系统:可通过pip安装:pip install git-filter-repo
  • 执行历史清理命令,从所有提交记录中移除public.zip:git filter-repo --path public.zip --invert-paths
  • 清理完成后强制推送到对应远程分支:git push origin 你的分支名称 --force

注意事项

  • 执行git filter-repo操作前建议先备份完整的本地仓库,避免误操作导致文件丢失
  • 强制推送会覆盖远程分支的提交历史,若有其他协作者共同维护该项目,请提前同步操作,避免协作者本地提交冲突
  • 可在项目根目录的.gitignore文件中添加*.zip规则,后续所有压缩包文件将不会被Git跟踪,避免同类问题重复发生

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:04