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

迁移Git仓库至Git LFS后存储未降低,原因及优化方法?

问题原因

迁移到Git LFS后仓库存储未减少,核心原因是原大文件仍保留在Git仓库的历史提交记录里。你执行的强制推送仅替换了当前分支最新提交的文件引用,但之前提交中直接存储的500MB.mp4文件还留在Git的对象数据库中,GitLab会统计所有未被清理的仓库对象,所以仓库存储配额依然被占用,加上LFS的存储就达到了1GB。

降低Git仓库存储占用的操作步骤

1. 彻底清除历史中的大文件

用官方推荐的git filter-repo工具(替代老旧的git filter-branch)清理所有历史提交里的目标.mp4文件:

  • 先确认本地是否有git filter-repo,没有的话通过系统包管理器安装
  • 执行命令移除指定文件:
    git filter-repo --path 你的文件路径/xxx.mp4 --invert-paths
    
  • 检查本地仓库历史,确认大文件已从所有提交中移除

2. 强制推送清理后的仓库

把清理后的本地仓库强制推送到GitLab,覆盖远程仓库的全部历史:

git push origin --force --all
git push origin --force --tags

3. 触发GitLab的仓库对象清理

GitLab不会自动删除废弃的仓库对象,需要手动触发:

  • 进入项目的设置 > 仓库 > 仓库清理页面
  • 点击「开始清理」按钮,等待GitLab回收未被引用的对象空间

4. 验证存储配额变化

清理完成后,回到项目的设置 > 通用 > 存储配额页面查看,此时仓库存储的占用量应该会降低,不再包含原大文件的容量。

注意事项
  • 清理历史会改变所有提交的哈希值,如果有其他协作者,必须通知他们重新克隆仓库,避免本地历史冲突
  • 操作前确认所有需要保留的大文件都已正确迁移到LFS,防止清理后文件丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:05:25