将git仓库瘦身

news2024/11/28 3:38:40

一个小工具的仓库居然有7个g了,每次clone都要等好久,在网上找的方法,实际了几个小时才成功瘦身,做一次记录

一、排查是哪些历史文件占用了内存,下面是查询最大的5个文件

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

 执行示例:

二、将这些占用比较大的文件从git历史中移除

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 上面查询的路径和文件名' --prune-empty --tag-name-filter cat -- --all

 执行示例:

 

三、执行下面命令真正删除和推送到远程仓库使远程仓库变小

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
git push origin --tags --force
git push origin --all --force

示例:

最后从7个G瘦身到了1个G 

注意事项:

1、报 You are not allowed to force push code to a protected branch on this project或者error: failed to push some refs to

就需要登录git执行下面操作,Settings -> Repository -> Protected branch -> unprotect

2、一定要保证你本地的代码是最新,不然最后2条命令会将其他人上传的代码给删除了

参考链接:彻底删除git中的大文件

                  git 仓库体积过大,如何减小?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153246.html

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

相关文章

使用nvm管理node版本,实现高版本与低版本node之间的转换

第一步:先清空本地安装的node.js版本 1.按健winR弹出窗口,键盘输入cmd,然后敲回车(或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出,输入cmd再点击回车键) 然后进入命令控制行窗口,并输入where node查…

Linux环境配置

一、安装ubuntu16的步骤 1、新建Ubuntu 右击文件---------新建虚拟机 典型----------------下一步 稍后安装操作系统-------------下一步 Linux(L)------------------Ubuntu64位-----------------下一步 虚拟机名称(随意起)----…

OSS简单介绍

OSS 阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化…

197: vue+openlayers 预加载preload瓦片地图,减少过渡期间的空白区域

第197个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers项目中演示瓦片预加载和没有预加载的不同状态。 没有采用预加载 当我们平移和缩放地图时,经常会遇到过渡期间的空白区域(因为内容正在加载),过一会儿,切片图像才出现了。 采用预加载,将预载的值设置为…

深入ReentrantLock锁

1. 前言 今天我们来探讨下另一个核心锁ReentrantLock. 从具体的实现到JVM层面是如何实现的。 我们都会一一进行讨论的,好了,废话不多说了,我们就开始吧 2. ReentrantLock 以及synchronized 核心区别: ReentrantLock 是一个抽象的…

MVC框架知识详解

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

机器学习课程学习随笔

文章目录本文来源机器学习简介机器学习流程机器学习可以完成如下功能:机器学习应用场景金融领域零售领域机器学习分类机器学习实现基于python等代码自己实现本文来源 本博客 是通过学习亚马逊的官方机器学习课程的随笔。 课程参考链接https://edu.csdn.net/course/…

爬虫与反爬虫 - 道高一尺魔高一丈 - 2013最新 - JS逆向 - Python Scrapy实现 - 爬取某天气网站历史数据

目录 背景介绍 网站分析 第1步:找到网页源代码 第2步:分析网页源代码 Python 实现 成果展示 后续 Todo 背景介绍 今天这篇文章,3个目的,1个是自己记录,1个是给大家分享,还有1个是向这个被爬网站的前…

synchronized锁膨胀(附代码分析)

synchronized锁膨胀 1. 基本概念 Java对象头 Java对象的对象头信息中的 Mark Word 主要是用来记录对象的锁信息的。 现在看一下 Mark Word 的对象头信息。如下: 其实可以根据 mark word 的后3位就可以判断出当前的锁是属于哪一种锁。注意:表格中的…

shell脚本练习2023年下岗版

shell脚本练习 1.判断指定进程的运行情况 #!/bin/bash NAMEhttpd #这里输入进程的名称 NUM$(ps -ef |grep $NAME |grep -vc grep) if [ $NUM -eq 1 ]; thenecho "$NAME running." elseecho "$NAME is not running!" fi2.判断用户是否存在 #!/bin/bash r…

【RabbitMQ】安装、启动、配置、测试一条龙

一、基本环境安装配置 1.英文RabbitMQ是基于erlang开发的所以需要erlang环境,点击以下链接下载安装 Downloads - Erlang/OTP 2.官网下载RabbitMQ安装包并安装 Installing on Windows — RabbitMQ 3.配置erlang本地环境变量(和JAVAHOME类似) 4.cmd查看erlang版本 5.点击以下…

自己看的操作系统

计算机网络冯诺依曼体系进程线程内核和虚拟内存os管理线程冯诺依曼体系 计算机五大组成:输入设备、输出设备、控制器、运算器、存储器 进程线程 这些应用都是进程 进程相当于一个菜谱,读取到内存中去使用。 电脑一时间能运行很多进程。 进程中为什么要…

excel函数技巧:MAX在数字查找中的应用妙招

大家都知道VLOOKUP可以按给定的内容去匹配到我们所需的数据,正因为如此,它在函数界有了很大的名气。但是今天要分享的这三个示例,如果使用VLOOKUP去匹配数据的话,就有些麻烦了。就在VLOOKUP头疼不已的时候,MAX函数二话…

2022 年度总结

1、CSDN 年度总结 2022年的粉丝涨幅比较明显竟然超过了之前几年的总和,这是比较意外的。应该是因为今年研究了一些云原生、元宇宙的原因,方向比努力真的重要的多。 1500的阅读确实没想到~~~说明低头一族还是没白当 涨粉稍微明细,不过还需…

English Learning - L1-11 时态 + 情态动词 2023.1.9 周一

English Learning - L1-11 时态 情态动词 2023.1.9 周一8 时态8.4 完成进行时(一)现在完成进行时核心思维:动作开始于现在之前,并有限地持续下去,动作到目前为止尚未完成1. 动作从过去某时开始一直持续到现在并可能继…

【Python】如何使用python将一个py文件变成一个软件?

系列文章目录 这个系列文章将写一些python中好玩的小技巧。 第一章 使用Python 做一个软件 目录 系列文章目录 前言 一、第一步:写好文件 二、第二步:生成程序 1.安装库 2.使用安装的库进行转化 总结 前言 本文重点说如何将py文件转化为exe文件…

回溯法--符号三角形(杂记)

回溯法说来简单,写起来难,真的是要愁死。回溯法有两种模板--子集树、排列树5.4符号三角形--dfs计算多少个满足条件的符号三角形,同号下面为“”,异号下面为“-”。根据异或的规则我们令“”0,“-”1,(异或的…

postgresql 启用ssl安全连接方式

SSL的验证流程 利用openssl环境自制证书 CA 证书签发 创建私钥ca.key,使用des3算法,有效期2048天 openssl genrsa -des3 -out ca.key 2048生成根CA证书请求(.csr) openssl req -new -key ca.key -out ca.csr -subj "/CCN/STGuangDong/LGuangZhou…

Cloudflare免费版不支持cname解析解决办法

最近调整CDN,使用云盾CDN的话基本上节点都在国内,国外访问就比较难了,虽然我们的站国外用户基本没有,但作为一个有大抱负的站长,眼界必须得宽,必须得支持国外访问才行!说起国外免费CDN&#xff…

iOS开发之Code:-402653103,Code:5

问题一:Code:-402653103 Demo中添加了第三方库,然后运行Demo时,总是运行不起来,现象如下: 遇到这种问题常见的几种方式: 方式一:command shift K,清理Xcode缓存&…