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

如何彻底删除Git分支历史中的大文件?已尝试filter-branch无效

彻底清理Git仓库中大文件历史的方法

因为问题分支未合并到master,直接针对该分支及残留对象处理即可,步骤如下(仅在能拉取仓库的Mac设备上操作):

  • 切换到主分支(如master):
    git checkout master

  • 强制删除本地的问题分支(无需确认合并状态):
    git branch -D <你的问题分支名称>

  • 清理filter-branch留下的原始分支备份(如果之前用过filter-branch):
    git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d

  • 让所有废弃的引用立即过期:
    git reflog expire --expire=now --all

  • 执行彻底的垃圾回收,清理所有未被引用的大文件对象:
    git gc --prune=now --aggressive

  • 删除远程仓库上的问题分支:
    git push origin --delete <你的问题分支名称>

完成以上步骤后,远程仓库的体积会恢复正常,其他设备即可正常拉取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:01:05