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

能否编辑Git历史提交移除大文件以顺利推送到GitHub?

remote: error: Trace: 0f04f657da56cd2cf86526f44eae8995d1ae359b6e251f112da0794686a722e3
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File data/v-2021/AIRS.2006.12.31.L3.RetStd001.v6.0.9.0.G13155192744.hdf is 380.41 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage -

新手可用的解决方法

你之前执行的git filter-branch --tree-filter 'rm -f *.hdf' HEAD命令仅匹配了仓库根目录的hdf文件,待清理的大文件存放在子目录中,因此没有被成功从历史记录移除,导致推送仍然报错。以下两种方案按需选择即可:

方案1:全新初始化仓库(零学习成本,最快可用)

你已经有完整的最新代码备份,优先选这个方案,不会出现任何操作失误:

  • 打开本地项目文件夹,删除根目录下的.git隐藏文件夹(Windows可在文件管理器顶部勾选「显示」→「隐藏的项目」,Mac按Command+Shift+.显示隐藏文件)
  • 确认.gitignore文件中已经添加了*.hdf规则,且本地所有hdf文件都不会被git add扫描到
  • 在项目根目录打开终端,依次执行如下命令:
# 初始化新的Git仓库
git init
# 提交所有当前代码
git add .
git commit -m "init: 初始化项目,已排除hdf大文件"
# 关联你的GitHub远程仓库地址
git remote add origin 你的GitHub仓库HTTPS/SSH地址
# 推送到远程仓库主分支(如果远程非空需要加-f参数强制覆盖)
git push -u origin main

方案2:重写Git历史保留原有提交记录

如果需要保留之前的5条提交记录,使用git filter-repo工具操作,比filter-branch逻辑更简单不容易出错:

  • 先安装git filter-repo:最新版Windows Git默认自带,Mac执行brew install git-filter-repo安装
  • 项目根目录打开终端执行命令,全局删除所有历史提交中的hdf文件:
git filter-repo --invert-paths --path-glob '*.hdf'
  • 执行完成后确认本地代码正常,执行推送即可:
git push -u origin main -f

注意:两种方案操作前都确认你的本地代码备份是最新可用的,避免操作异常丢失代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:06:04