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

GIT - 清除历史 Commit 瘦身仓库

目录

一.引言

二.仓库清理

◆ 创建一个船新分支

◆ 提交最新代码

◆ 双指针替换分支

三.总结


一.引言

由于项目运行时间较长,分支较多,且分支内包含很多不同的大文件,随着时间的推移,历史 Git 库的容量日渐增发,objects 里 pack 就高达 3G +,如果从头往下 pull 项目要花好久,下面开始项目瘦身。

Tips:

 请确保待瘦身删除内容不涉及到 git reset 回退且不会再用到,否则删除了无法恢复

二.仓库清理

网上大佬们给了几种清理方法:

filter-branch: filter-branch 剔除指定的类型文件,并重写commitId。

BFG Repo-Cleaner: 仓库清理工具,筛选清理大文件对象。

这里博主直接偷懒了,由于之前很多提交已经无关紧要,所以我们直接将之前的提交抹去

◆ 创建一个船新分支

--orphan 会创建一个全新的分支,其与其他分支都没关系,也没有任何提交记录。可以理解为是一个纯净的空分支,我们后续只保留最新代码在该分支。

git checkout --orphan <new-branch-name>=> Switched to a new branch 'CleanGit'

◆ 提交最新代码

-A 会把本地的代码、文件全部推送到当前分支,在未 commit 之前,当前分支包含 0 个 commit,是全新的分支。

git add -A
git log=> fatal: your current branch 'CleanGit' does not have any commits yetgit commit -am "Initial commit"=> [CleanGit (root-commit) 96dc82a] Initial Commit
=> 137 files changed, 21462 insertions(+)

◆ 双指针替换分支

删除本地分支 -> 将当前分支重命名 -> 强制推送至远程分支,这个有点像 python 的双指针赋值 a, b = b, a,相当于做了一次轮转,把老的 commit 全部 -f 冲掉了。

git branch -D <old-branch-name>
git branch -m <old-branch-name>
git push -f origin <old-branch-name>

三.总结

重复上述步骤,把 commit 多的分支清空或者删除,缩减 git 容量。不过最好还是在根源处避免在 git 中上传过大的文件。

相关文章:

GIT - 清除历史 Commit 瘦身仓库

目录 一.引言 二.仓库清理 ◆ 创建一个船新分支 ◆ 提交最新代码 ◆ 双指针替换分支 三.总结 一.引言 由于项目运行时间较长&#xff0c;分支较多&#xff0c;且分支内包含很多不同的大文件&#xff0c;随着时间的推移&#xff0c;历史 Git 库的容量日渐增发&#xff0c…...

物联网产品中,终端、网关、协议、PaaS、SaaS之间的关系

在互联网产品中&#xff0c;经常提到的终端、网关、协议、PaaS、SaaS之间&#xff0c;到底有什么关系呢&#xff1f; 一、基本概念 在百度/其他地方搜集的信息中&#xff0c;对于终端、网关、协议、PaaS、SaaS的解释各有不同&#xff0c;整理如下&#xff1a; 终端&#xff1…...

6款实用的Git可视化管理工具

前言 俗话说得好“工欲善其事&#xff0c;必先利其器”&#xff0c;合理的选择和使用可视化的管理工具可以降低技术入门和使用门槛。我们在团队开发中统一某个开发工具能够降低沟通成本&#xff0c;提高协作效率。今天给大家分享6款实用的Git可视化管理工具。 Git是什么&…...

python_selenium零基础爬虫学习案例_知网文献信息

案例最终效果说明&#xff1a; 去做这个案例的话是因为看到那个博主的分享&#xff0c;最后通过努力&#xff0c;我基本实现了进行主题、关键词、更新时间的三个筛选条件去获取数据&#xff0c;并且遍历数据将其导出到一个CSV文件中&#xff0c;代码是很简单的&#xff0c;没有…...

MindSpore Serving基于昇腾910B实现大模型部署

一、Why MindSpore Serving 大模型时代&#xff0c;作为一个开发人员更多的是关注一个大模型如何训练好、如何调整模型参数、如何才能得到一个更高的模型精度。而作为一个整体项目&#xff0c;只有项目落地才能有其真正的价值。那么如何才能够使得大模型实现落地&#xff1f;如…...

mysql原理--InnoDB的Buffer Pool

1.缓存的重要性 对于使用 InnoDB 作为存储引擎的表来说&#xff0c;不管是用于存储用户数据的索引&#xff08;包括聚簇索引和二级索引&#xff09;&#xff0c;还是各种系统数据&#xff0c;都是以 页 的形式存放在 表空间 中的&#xff0c;而所谓的 表空间 只不过是 InnoDB 对…...

Redis不同环境缓存同一条数据,数据内部值不同

背景 现实中&#xff0c;本地环境&#xff08;dev&#xff09;和开发环境&#xff08;feature&#xff09;会共同使用相同的中间件&#xff08;本篇拿Redis举例&#xff09;&#xff0c;对于不同环境中的&#xff0c;图片、视频、语音等资源类型的预览地址url&#xff0c;需要配…...

MySQL之导入、导出远程备份

一、Navicat工具导入、导出 1.1 导入 第一步&#xff1a; 右键&#xff0c;点击运行SQL文件 第二步&#xff1a; 选择要运行的SQL&#xff0c;点击开始 第三步&#xff1a; 关闭即可 1.2 导出 第一步&#xff1a; 右键选择&#xff0c;导出向导 第二步&#xff1a; 选择SQL脚…...

OpenGL学习笔记-Blending

混合方程中&#xff0c;Csource是片段着色器输出的颜色向量&#xff08;the color output of the fragment shader&#xff09;&#xff0c;其权重为Fsource。Cdestination是当前存储在color buffer中的颜色向量&#xff08;the color vector that is currently stored in the …...

支持 input 函数的在线 python 运行环境 - 基于队列

支持 input 函数的在线 python 运行环境 - 基于队列 思路两次用户输入三次用户输入 实现前端使用 vue element uiWindows 环境的执行器子进程需要执行的代码 代码仓库参考 本文提供了一种方式来实现支持 input 函数&#xff0c;即支持用户输的在线 python 运行环境。效果如下图…...

欧拉Euler release 21.10 (LTS-SP2)升级openssh至9版本记录

背景&#xff1a;安扫漏洞&#xff0c;需要对openssh经行升级 1.先查看升级前的openssh版本 2.避免升级失败断开远程登录&#xff0c;先开启telnt服务用于远程连接&#xff08;这步可查看其他博客&#xff09; 3.从欧拉官网下载rpm包&#xff0c;https://www.openeuler.org/zh…...

php 数组中的元素进行排列组合

需求背景&#xff1a;计算出数组[A,B,C,D]各种排列组合&#xff0c;希望得到的是数据如下图 直接上代码&#xff1a; private function finish_combination($array, &$groupResult [], $splite ,){$result [];$finish_result [];$this->diffArrayItems($array, $…...

Python从入门到网络爬虫(OS模块详解)

前言 本章介绍python自带模块os&#xff0c;os为操作系统 operating system 的简写&#xff0c;意为python与电脑的交互。os 模块提供了非常丰富的方法用来处理文件和目录。通过使用 os 模块&#xff0c;一方面可以方便地与操作系统进行交互&#xff0c;另一方面页可以极大增强…...

人机交互不是人机融合智能

一、人机交互和人机融合智能是两个不同的概念 人机交互是指人类与计算机之间的信息交流和操作方式&#xff0c;包括输入和输出界面、交互技术、用户体验等方面。人机交互的目标是提供用户友好的界面和自然的交互方式&#xff0c;使人类能够与计算机更加高效地进行沟通和协作。 …...

RabbitMQ解决消息丢失以及重复消费问题

文章目录 1、概念2、基于ACK/NACK机制2.1 基于Spring AMQP框架整合ACK/NACK机制2.2 测试消费失败1.02.3 测试结果1.02.4 测试MQ宕机2.5 测试结果2.0 3、RabbitMQ 如何实现幂等性设计3.1 幂等服务设计思路3.1.1 通过雪花算法生成分布式唯一ID3.1.2 通过枚举类&#xff0c;设计Me…...

docker 安装redis集群

一、准备6台机器 二、6台机器分别拉取镜像&#xff1a; docker pull redis三、6台机器分别建立挂载文件夹 mkdir -p /home/redis/data四、6台机器分别执行容器操作 docker run --restartalways -d --name redis-node-1 --net host --privilegedtrue -v /home/redis/data:/da…...

锂电池制造设备中分布式IO模块优势

在“碳达峰、碳中和”目标推动下&#xff0c;新能源汽车当下发展势头正盛&#xff0c;而纯电动车的核心部件则是&#xff1a;锂电池。动力型锂电池作为新能源汽车核心零部件&#xff0c;其发展与新能源汽车行业息息相关&#xff0c;迎来广阔的市场空间。 为何采用I/O模块&#…...

Android Room数据库升级Migration解决方案

一、介绍 Android Room 是 Android 官方提供的一个轻量级数据库框架&#xff0c;用于在 Android 应用程序中管理数据持久性。它简化了数据库访问&#xff0c;提供了更安全、更快速的数据存储方式&#xff0c;并使得数据操作更加便捷。 二、Room的特点(八股文可以参考) 以下是…...

离线安装docker和docker-compose

1.下载 docker Index of linux/static/stable/x86_64/ docker-compose Overview of installing Docker Compose | Docker Docs 2.docker /etc/systemd/system/docker.service [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.…...

奇怪的事情记录:外置网卡和外置显示器不兼容

身为程序员&#xff0c;不应该对世界上的稀奇古怪的事情感到惊讶&#xff08;毕竟&#xff0c;大部分都是程序员自己搞出来的&#xff09;。 外置网卡和外置显示器不兼容 mbp2019intel版&#xff0c;win10&#xff0c;外接有线网卡&#xff0c;平时用得很好&#xff0c;接上外…...

【大数据进阶第三阶段之Hive学习笔记】Hive基础入门

目录 1、什么是Hive 2、Hive的优缺点 2.1、 优点 2.2、 缺点 2.2.1、Hive的HQL表达能力有限 2.2.2、Hive的效率比较低 3、Hive架构原理 3.1、用户接口&#xff1a;Client 3.2、元数据&#xff1a;Metastore 3.3、Hadoop 3.4、驱动器&#xff1a;Driver Hive运行机制…...

第三代量子计算机交付,中国芯片开辟新道路,光刻机难挡中国芯

日前安徽本源量子宣布第三代超导量子计算系统正式上线&#xff0c;这是中国最先进的量子计算机&#xff0c;计算量子比特已达到72个&#xff0c;在全球已居于较为领先的水平&#xff0c;这对于中国芯片在原来的硅基芯片受到光刻机阻碍无疑是巨大的鼓舞。 据悉本源量子的第一代、…...

react native中使用tailwind并配置自动补全

使用的第三方库是tailwind-react-native-classnames&#xff0c;同类的也有tailwind-rn&#xff0c;但是我更喜欢前者官方demo&#xff1a; import { View, Text } from react-native; import tw from twrnc;const MyComponent () > (<View style{twp-4 android:pt-2 b…...

数据分析——火车信息

任务目标 任务 1、整理火车发车信息数据&#xff0c;结果的表格形式为&#xff1a; 2、并输出最终的发车信息表 难点 1、多文件 一个文件夹&#xff0c;多个月的发车信息&#xff0c;一个excel&#xff0c;放一天的发车情况 2、数据表的格式特殊 如何分析表是一个难点 数…...

Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)

对于深度学习初学者来说&#xff0c;JupyterNoteBook的脚本运行形式显然更加友好&#xff0c;依托Python语言的跨平台特性&#xff0c;JupyterNoteBook既可以在本地线下环境运行&#xff0c;也可以在线上服务器上运行。GoogleColab作为免费GPU算力平台的执牛耳者&#xff0c;更…...

Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

开启IIS 如果已开启跳过这步 打开控制面板-程序 打开IIS 发布Web程序&#xff08;.Net Framework 4.8 web网页&#xff09; 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限 如果不添加访问权限&#xff0c;运行时将会得到如下错误 设置权限 勾…...

vue element plus Typography 排版

我们对字体进行统一规范&#xff0c;力求在各个操作系统下都有最佳展示效果。 字体# 字号# LevelFont SizeDemoSupplementary text12px Extra SmallBuild with ElementBody (small)13px SmallBuild with ElementBody14px BaseBuild with ElementSmall Title16px MediumBuild w…...

理论U3 决策树

文章目录 一、决策树算法1、基本思想2、构成1&#xff09;节点3&#xff09;有向边/分支 3、分类步骤1&#xff09;第1步-决策树生成/学习、训练2&#xff09;第2步-分类/测试 4、算法关键 二、信息论基础1、概念2、信息量3、信息熵&#xff1a; 二、ID3 (Iterative Dichotomis…...

Redis 常用操作

一、Redis常用的5种数据类型 字符串&#xff08;String&#xff09;&#xff1a;最基本的数据类型&#xff0c;可以存储字符串、整数或浮点数。哈希&#xff08;Hash&#xff09;&#xff1a;键值对的集合&#xff0c;可以在一个哈希数据结构中存储多个字段和值。列表&#xf…...

c# 使用Null合并操作符例子

在这个示例中&#xff0c;我们定义了两个字符串变量 name 和 defaultName。变量 name 被赋值为 null&#xff0c;而变量 defaultName 被赋值为 “John Doe”。 接下来&#xff0c;我们使用 Null 合并操作符 ?? 来获取一个非空值。如果 name 不为 null&#xff0c;则 result 的…...

中国互联网百强企业名单/秦皇岛网站seo

win10重装系统提示缺少介质显示缺少介质解决方法有位伙伴购买了新电脑&#xff0c;因电脑中没有系统&#xff0c;所以用U盘给电脑重装win10&#xff0c;发现弹出“缺少计算机所需的介质驱动程序”的窗口&#xff0c;尝试过更换USB接口&#xff0c;但还是失败&#xff0c;这是怎…...

wordpress 套餐/安卓aso优化

为什么80%的码农都做不了架构师&#xff1f;>>> 初始化内表的作用是清空内表所有的数据行&#xff0c;将内表恢复到填充或赋值之前的状态。初始化内表过程中需要注意之处仍然是初始化无 表头行内表和有表头行内表的区别&#xff0c;以及初始化内表和表头行的区别。…...

医疗网站建设行业现状/seo整站优化报价

找到所有数组中消失的数字 题目描述&#xff1a; 给定一个范围在 1 ≤ a[i] ≤ n ( n 数组大小 ) 的 整型数组&#xff0c;数组中的元素一些出现了两次&#xff0c;另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度…...

wordpress 内容隐藏/seo网站推广软件 快排

I、数据库使用版本信息 neo4j 3.1.0 社区版本 neo4j 4.0.9 社区版本 neo4j 4.2.11 企业版本 II、Neo4j 4.2.11企业版本 主要用作性能测试&#xff1a; 参考&#xff1a;Database management - Neo4j Cypher Manual III、数据库操作 0、数据库browser 查询结果配置 显示所有配…...

多人在线协作网站开发/网络广告宣传怎么做

1. 导读源于之前的一篇文章&#xff0c;盛夏计划: 助小白极简入坑数据分析&#xff0c; 这半个月多前&#xff0c;我吹下的牛&#xff0c;现在不睡觉也要把他撸完&#xff0c;你说对吧&#xff1f;。。虽然是极简教程&#xff0c;但是也会拆成几篇文章&#xff0c; 为什么&…...

做网站上是外部连接怎么改/qq群排名优化

docker容器中的环境变量 docker可以为容器配置环境变量。配置的途径有两种&#xff1a; 在制作镜像时&#xff0c;通过ENV命令为镜像增加环境变量。在容器启动时使用该环境变量。在容器启动时候&#xff0c;通过参数配置环境变量&#xff0c;如果与镜像中有重复的环境变量&…...