当前位置: 首页 > news >正文

使用git-filter-repo 清除大文件

  1. 安装python

    下载 Python
    访问 Python 官网

  2. 安装 git-filter-repo(需提前安装 Python,安装非常简单)
    执行命令: pip install git-filter-repo
  3. 在项目目录下打开命令行
    执行命令: pip install git-filter-repo
    在 .git\filter-repo\analysis./path-all-sizes.txt 查看大文件

    image

     有日期的是当前文件中已被git删除过(不代表历史记录里没有),present是未被删除的

  4. 删除文件

    执行命令:git filter-repo --path '你要删除的文件路径(路径最好从上面报告内容中复制)' --invert-paths

    数说明

    • --path:指定要删除的目录路径
    • --invert-paths:反转匹配,即删除匹配的路径,保留未匹配的路径

    --path 参数说明

    • 比如从上述例子中可以看出占用空间最大的是 dist/main.exe文件,但是这个文件现在不用了,所以我们需要删掉。
      删除历史中所有名为 dist/main.exe 的文件:
      git filter-repo --path dist/main.exe --invert-paths

    • 删除以后会发现可能还有dist/main.exe的文件也需要删除,这时候就可以 使用通配符删除,native/* 表示删除native/下所有文件:
      git filter-repo --path-glob dist/* --invert-paths

    • 也可直接删除native文件夹及内部文件的资源和历史记录:
      git filter-repo --path dist/ --invert-paths

    • 清理多个文件可多次执行此命令以后再执行后续命令

    需要拷贝仓库操作,如果要强制带上 --force
  5. 使所有引用日志(reflog)立即过期(以便后续的垃圾回收可以清理这些日志)
    执行命令:git reflog expire --expire=now --all

    参数说明:

    • --expire=now:将所有引用日志标记为立即过期
    • --all:对所有引用(分支、标签等)生效
  6. 执行垃圾回收,清理未使用的对象并优化仓库

    执行命令:git gc --aggressive --prune=now

    参数说明:

    • --aggressive:执行更彻底的优化(耗时较长)
    • --prune=now:立即清理所有过期的对象
  7. 推送到远程
    强制将本地仓库的分支推送到远程,覆盖远程仓库分支的历史记录:
    git push --force origin --all
    强制将本地仓库的tag推送到远程,覆盖远程仓库tag的历史记录
    git push --force origin --tags

 

 

 

http://www.hskmm.com/?act=detail&tid=31334

相关文章:

  • 2025 年滤筒源头厂家最新推荐排行榜:盘点实力企业及选购要点,涵盖多类型滤筒优质公司水刺/除尘/阻燃/高温滤筒厂家推荐
  • Flutter美观、易用的日历选择组件
  • 2025 年滤袋源头厂家最新推荐排行榜:PTFE/PPS/P84 等多材质滤袋优质品牌精选及选购参考
  • 2025年最新销售管理系统使用指南:顶级销售是如何使用CRM系统? - SaaS软件
  • 2025 年激光焊锡源头厂家最新推荐排行榜:覆盖多行业需求,助力企业精准选优质设备供应商手机摄像头/线材类/通讯行业/FPC柔性线路板激光焊锡厂家推荐
  • 【光照】UnityURP中的[HDR贴图]
  • 2025 年激光粒度仪厂家最新推荐榜单:聚焦行业标杆与新兴势力,助力科研与生产精准选购纳米粒度及Zeta电位仪厂家推荐
  • 第五周第二天5.2
  • ​​电压探头的应用场景与技术选型指南​​
  • 循环调用接口,使用promise.all的应用
  • 部署zabbix proxy代理服务服务器
  • 完整教程:Docker搭建ESPIDF环境,程序下载
  • 基于Java+Springboot+Vue开发的体育用品购物销售商城管理系统源码+运行步骤
  • AI Agent 产品推荐方案
  • 2025年国内分散釜优质厂家排行榜:值得推荐的分散釜厂家有哪些?
  • 彩笔运维勇闯机器学习--GBDT - 详解
  • 二层环路检测
  • 2025年国内搅拌釜优质厂家排行榜:值得推荐的搅拌釜厂家有哪些?
  • 告别词穷!我发现了一款免费无限量的 Midjourney 提示词神器!
  • 音频标签,无语义的布局标签,字符实体(尖括号和空格)
  • 2025 年最新推荐票务系统厂家综合实力榜单:覆盖高铁站 / 景区 / 高校实训等场景,精准盘点优质品牌景区售检票务系统/高校铁路仿真售检票务系统/模拟铁路12306自动售检实训票务系统厂家推荐
  • 深入解析:Apache Superset 企业级实战:从部署到优化的全链路指南
  • 2025 年闸机生产厂家最新推荐榜单:涵盖多场景需求的实力厂家权威盘点海关通关自助验证/边境防疫自助边检验证/AB门自助验证/双门互锁视频防尾随自助验证/高铁自助核验检票闸机厂家推荐
  • VKProxy
  • 2025 年手套箱厂家推荐排行榜,惰性气体/真空/氮气/防护手套箱厂家推荐
  • 服务没有及时响应启动或控制请求
  • 【日记】央视不要我,笑死(1672 字)
  • 无心插柳柳成荫/万能的添加地址模块/一个播放地址带上各种参数
  • 构造专题 #2
  • HarmonyOS 详细安装第三方库的流程与注意