Git无法上传删除 Commit里面有大文件

1.Bug描述

因为在一次提交中不小心把一个打包的aab文件弄到commit文件里了,于是在上传的时候push rejected 了。

 因为GitHub的文件上限是100M,但是打的包太大了,有170M,所以是不能上传的,但是又是已经在Commit历史中了,并且已经好几次了,于是就想在历史中删除掉。

2.解决办法:

删除commit记录里的 app/release/app-release.aab

1.要删除 Git 历史记录中包含 app/release/app-release.aab 的 commit,您可以使用 Git 的 filter-branch 命令进行重写历史。请注意,这种操作会修改历史记录,因此在执行此操作之前,请确保您理解其潜在风险,并在执行操作之前备份重要数据。

2.首先,确保您在正确的 Git 仓库目录中。打开命令行或终端,并导航到该目录。

3.运行以下命令,使用 filter-branch 重写历史:

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch app/release/app-release.aab" --prune-empty --tag-name-filter cat -- --all

(注意上面的文件名哦)

4.此命令会遍历整个 Git 历史,并删除包含 app/release/app-release.aab 的 commit。--index-filter 参数使用 git rm --cached --ignore-unmatch 命令将该文件从每个 commit 中移除。

命令执行完后,Git 会重写历史记录。请注意,这可能需要一些时间,具体取决于您的项目历史的大小。

 如果报错了:

这个是因为你本地的还有更改,你继续放到commit里面 就行了,如果还有其他的报错,根据提示修改就是了。

5.完成后,您可以运行以下命令清除 Git 的垃圾数据:

git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin

这个运行命令就行了

6.上传代码

git push --force origin

如果报错,根据提示去解决。

 

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

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

相关文章

从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得。那为什么会有这么高的评价呢?是因为它有重大的理论或者模型创新吗?其实并没有,从模型创新角度看一般,创新不算大。但是架不住效果太好了,基本刷新了很多NLP的任务…

Postman中读取外部文件

目录 前言: 一、postman中读取外部文件的格式 二、Postman中如何导入文件 三、在Postman读取导入的数据文件 前言: 在Postman中,您可以使用"数据文件"功能来读取外部文件,如CSV、JSON或Excel文件。这使得在测试中使用…

深度学习编译器汇总

深度学习的发展对个科学领域产生了深远的影响。它不仅在自然语言处理(NLP)和计算机视觉(CV)等人工智能领域显示出显著的价值,而且在电子商务、智慧城市和药物发现等更广泛的应用领域也取得了巨大的成功。随着卷积神经网…

ch0_汇编介绍

学习参考: https://helijian.blog.csdn.net/article/details/60885095 参考贺利坚老师的汇编课程 1. 汇编作用 1.1 汇编是所有语言的老祖宗 1.2 不可替代的使用场景 汇编语言仍在发挥不可替代的作用: 效率 . 运行效率:开发软件的核心部件,快速执行和实…

【MySQL高级篇笔记-数据库的设计规范(中) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、为什么要数据库设计 二、范式 1、范式简介 2、范式都包括哪些 3、键和相关属性的概念 4、第一范式(1st NF) 5、第二范式(2nd NF) 6、第三范式(3rd NF) 7、小结 三、反范式化 1、概述 2、 应用举例 3、反范式的新问…

split()分割字符串【JavaScript】

分割字符串 在JavaScript中,我们可以使用split( )方法把一个字符串分割成一个数组, 这个数组存放的是原来字符串的所有字符片段。 有多少个片段,数组元素个数就是多少。 语法 字符串名.split("分割…

【Vue3】学习笔记-shallowReactive与ShallowRef

shallowReactive:只处理对象最外层属性的响应式(浅响应式)。 shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据,结构比较深, 但变化时只是外层属性变化 > sh…

Spring Cache

Spring Cache 一.Spring Cache介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要加一个注解,就能实现缓存功能 Spring Cache整合了很多的缓存产品,提供一层抽象(接口),底层可以切换不同的缓存 具体是通过CacheManager接口来统一不同的缓存技术 二.Spring Cache…

RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案

RocketMQ on openEuler,是一种将 RocketMQ 消息中间件通过容器化的方式部署在 openEuler 操作系统上运行,借助 openEuler 系统对于 OS 缓存回收效率增强的内核特性,提升消息中间件在面向超大规模高并发、高吞吐量、低延迟场景下稳定性和可靠性…

windows 10 安装Python 3.10版

一、查找官网 1.python官网需要VPN(建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。),打开VPN进行代理之后,打开网址:https://www.python.org/ 二、查找所需下载的系统及版本 1.本机是winodws操作系统&…

详解JAVA Socket

目录 1.概述 2.使用 3.使用场景 3.1.web server中的网络通信 3.2.长连接 3.3.性能问题 1.概述 什么是网络通信: 就像打电话一样,两点间要通信,两点间就必须有连接,为了实现任意两个节点之间的通信,我们就必须采…

Zabbix监控

Zabbix监控 1.Zabbix监控概述1.1 zabbix是什么1.2 zabbix监控原理1.3 Zabbix 6.0新特性1.4 Zabbix 6.0功能组件1.5 Zabbix与prometheus区别对比 2. 部署Zabbix6.02.1 安装NginxPHP2.2 部署Mariadb数据库2.3 安装zabbix Server服务端2.4 部署Web前端,进行访问2.5 部署…