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

news/2025/10/15 9:36:32/文章来源:https://www.cnblogs.com/fhysy/p/19141651
  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.mzph.cn/news/937275.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年滤筒源头厂家最新推荐排行榜:盘点实力企业及选购要点,涵盖多类型滤筒优质公司水刺/除尘/阻燃/高温滤筒厂家推荐

当前环保政策日趋严格,工业领域对粉尘治理和烟气净化的要求不断提高,滤筒作为关键设备,其质量直接关系到企业环保达标与生产效率。但滤筒市场厂家繁杂,部分产品存在过滤效率低、寿命短等问题,且不同行业对滤筒性能…

Flutter美观、易用的日历选择组件

🧩 项目信息:示例预览地址: https://knight-l.github.io/y_calendar/ github主页: https://github.com/knight-L/y_calendar pub主页: https://pub.dev/packages/y_calendar✨ 特性📅 单日期选择 - 简洁直观的…

C# 23种设计模式详解与示例 - 详解

C# 23种设计模式详解与示例 - 详解2025-10-15 09:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

2025 年滤袋源头厂家最新推荐排行榜:PTFE/PPS/P84 等多材质滤袋优质品牌精选及选购参考

当前环保政策持续收紧,工业领域对滤袋的过滤效率、耐温耐腐等性能要求愈发严苛,而滤袋市场厂家资质混杂,部分产品难以满足行业标准,导致企业面临环保达标难、生产成本高的困境。为帮助钢铁、水泥、电力、化工等行业…

2025年最新销售管理系统使用指南:顶级销售是如何使用CRM系统? - SaaS软件

“这不是工具,而是你的数字销售大脑。”周一早晨,销售新手小李正对着CRM系统发呆,机械地录入客户资料。而与之形成鲜明对比的是,隔壁工位的顶级销售老王已经借助 CRM 系统的提示完成了 3 个关键客户的跟进,并收到…

2025 年激光焊锡源头厂家最新推荐排行榜:覆盖多行业需求,助力企业精准选优质设备供应商手机摄像头/线材类/通讯行业/FPC柔性线路板激光焊锡厂家推荐

当前激光焊锡技术广泛应用于手机摄像头、汽车电子、半导体等多个领域,企业对高品质焊锡设备的需求愈发迫切。但市场上源头厂家数量繁杂,部分厂家技术不成熟、产品稳定性差,还有些厂家服务体系不完善,导致企业在选购…

【光照】UnityURP中的[HDR贴图]

本文介绍了Unity URP中HDR贴图的概念与应用。HDR贴图相比传统LDR贴图,能存储更广亮度范围(如100,000尼特),解决过曝、细节丢失问题,提供更高精度光照计算。主要分为HDR环境贴图和光照贴图两类,用于天空盒、环境光…

2025 年激光粒度仪厂家最新推荐榜单:聚焦行业标杆与新兴势力,助力科研与生产精准选购纳米粒度及Zeta电位仪厂家推荐

在颗粒测量技术持续升级的当下,激光粒度仪已成为科研实验、工业生产质量管控的核心设备。然而,当前市场中品牌数量激增,既有深耕行业多年的老牌企业,也有近年涌现的新兴品牌,产品性能、技术水平、服务质量差异显著…

​​电压探头的应用场景与技术选型指南​​

文章总结:电压探头根据应用场景选择无源、差分或高频探头,确保测量准确与安全。在电子测量领域,电压探头作为连接被测电路与测量仪器的关键接口,其正确选择与使用直接关系到测量结果的准确性和安全性。本文系统分析…

循环调用接口,使用promise.all的应用

需求:有一个数组arr不确定长度,1.根据数组中的每个唯一(id)请求接口获取到对应数据更新数组的arr的值,2.也可以调用一个指定的arr的下标中的id更新对应的这一条数据 先上核心代码let newArr=[] const listRes = a…

部署zabbix proxy代理服务服务器

一、yum安装zabbix proxy 系统环境:rocky 10 zabbix server 版本6.2.3 zaabix proxy 版本6.2.31.关闭SELinux及防火墙 1)关闭防火墙 systemctl stop firewalld && systemctl disable firewalld2)永久禁用…

Python3 requests 模块

Python3 requests 模块requests 是 Python 中最常用的第三方 HTTP 客户端库,用于发送各种 HTTP 请求(如 GET、POST 等),处理响应数据,比 Python 内置的 urllib 更简洁易用。 一、安装 requests requests 不是 Pyt…

完整教程:Docker搭建ESPIDF环境,程序下载

完整教程:Docker搭建ESPIDF环境,程序下载pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

基于Java+Springboot+Vue开发的体育用品购物销售商城管理系统源码+运行步骤

项目简介该项目是基于Java+Springboot+Vue开发的体育用品商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。…

AR/VR赋能工业巡检:开启智能化运维新时代 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Navicat Premium 16 最新破解版下载及安装使用教程

Navicat Premium 16 最新破解版下载及安装使用教程Navicat Premium 是一套可创建多个连接的数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 。它与…

AI Agent 产品推荐方案

一、企业业务痛点 您的企业是否曾面临这样的困境? 企业产品品类繁多,单个产品的参数常达数十上百个,类型各异(部分为数字类型,部分为文字类型),且参数重要性存在差异(例如发电机的 "输出功率" 权重远…

2025年国内分散釜优质厂家排行榜:值得推荐的分散釜厂家有哪些?

在化工、锂电、医药、食品等众多行业,分散釜的性能至关重要。对于关注捷耀智能分散釜厂家研发能力强吗、捷耀智能分散釜厂家的用户体验以及捷耀智能分散釜公司介绍等方面的朋友来说,本文将进行详细剖析。同时,为您推…

彩笔运维勇闯机器学习--GBDT - 详解

彩笔运维勇闯机器学习--GBDT - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

二层环路检测

1、环路检测的处理模式是指当系统检测到端口出现环路时的处理方式,包括以下几种:Block模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址并将端口阻塞。 No-learning模式:当系统检测…