git文件过大导致gitea仓库镜像推送失败问题解决(push failed: context deadline exceeded)

news2025/3/12 6:11:00

问题描述

今天发现gitea仓库推送到某个镜像仓库的操作几个月前已经报错终止推送了,报错如下:

首先翻译报错提示可知是因为git仓库大小超过1G限制。检查本地.git文件,发现.git文件大小已达到1.13G。确定是.git文件过大导致,可考虑删除旧的历史.git提交记录。

推送失败:超出上下文截止时间-远程:Powered byI[01;33mGITEE.COM I[0m[1.1.5] 远程:设置跟踪标志 9245f491 远程。仓库大小:1127.660MB,超出配额 1024MB 远程:推送被拒绝。存储库大小超出限制 远程:帮助链接https://gitee.com/help/articles/4232 远程:存储库垃圾回收:https://gitee.com/oangkns/settinas#ait-ac 远程:企业远程:由action"atns"aneecomt提供 跟踪标志9245f491 远程П[01-33mGITEE.COM存储库大小:1127.660MB 存储配额1024MB 远程:推送被拒绝!
存储库 [大小:1127.660MB] 远程:Helolink 仓库大小:https://gitee.com/help/articles/4232 远程:存储库GC:https://gitee.com/luoluoyu 1/giyangkms/settings#qit-gc 远程:企业版:https://gitee.com/enterpris 远程:由conae9UI01-33MGITEE.COM提供技术支持 跟踪标记:9245f491 远程:推送被拒绝 远程:Helolink 仓库大小:https://gitee.com/help/articles/4232 远程:存储库GC:https://gitee.com/luoluoyu 1/aivangkms/settings#ait-ac 远程:企业版:

https://gitecommerces

 问题解决

解决方案1)考虑删除旧的超过一年的git仓库记录

如果你想删除 Gitea 仓库中超过一年前的历史记录,只保留最近一年的提交,可以使用 git filter-repo 工具来实现。以下是一个详细的步骤:


1. 安装 git filter-repo

git filter-repo 是一个强大的工具,可以帮助你重写 Git 历史记录。

pip install git-filter-repo

2. 克隆仓库(可选,建议备份)

在进行操作之前,建议克隆一个完整备份,以防出现问题。

​git clone --mirror http://127.0.0.1:3000/TEST/myweb.git new-repo.git

3. 删除超过一年的历史记录

使用 git filter-repo 删除超过一年前的提交,只保留最近一年的记录。

(1) 进入新的仓库目录
cd new-repo.git
(2) 运行清理旧数据命令
git filter-repo --commit-callback '
import datetime
timestamp_str = commit.committer_date.decode().split()[0]
commit_date = datetime.datetime.fromtimestamp(int(timestamp_str))
current_date = datetime.datetime.now()
if (current_date - commit_date).days > 365:
    skip_commit = True
' --force
(3) 强制推送到远程仓库
git remote set-url origin <remote-repo-url>
git push origin --force --all
git push origin --force --tags
(4) 优化仓库
git gc --prune=now --aggressive

4. 优化仓库

清理仓库中的未引用对象,进一步减小 .git 目录大小。

(1) 运行 git gc
git gc --prune=now --aggressive
(2) 更新远程仓库

如果需要优化远程仓库,可以强制推送:

git push origin --force --all
git push origin --force --tags

5. 验证结果

检查仓库的历史记录,确保超过一年的提交已被删除:

git log --oneline

6. 注意事项

  • 备份仓库:在进行任何操作之前,确保备份完整的仓库数据。`
  • 团队协作:删除历史记录会影响所有开发人员,确保提前通知并协调。
  • 权限管理:如果仓库是共享的,确保你有足够的权限进行强制推送。

通过以上步骤,你可以成功删除超过一年的历史记录,只保留最近一年的提交,从而减小 .git 目录的大小。

解决方案2)丢弃所有git仓库提交记录。重新克隆代码建立新的git仓库。

附:查看仓库大文件路径

[root@localhost .git]# git rev-list --objects --all | while read -r hash path; do size=$(git cat-file -s "$hash"); echo "$size $hash $path"; done | sort -n | tail -5
3945546 c1ad45760dbcf34159ae8cb00873121e62b285af public/font/hyngt.ttf
5261205 a669ebe712cc929b689884b8ddcef830c3b2650a public/apk/sgb.apk
5780472 6f4be5c4866655addc61aee28e171a2b376f7471 public/uploads/home/store/goods/1/1_2023102315172822343.mp4
43093716 cca485f6c67deff00798792d3de85a64d170e6fa vendor.zip
957612815 dae9e0f50fe2012f9220539c8429381a0677c862 public.zip

参考文件:

仓库体积过大,如何减小? - Gitee.com

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

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

相关文章

怎么利用DeepSeek进行PCB设计?

最近在琢磨利用Deepseek改善PCB的细节设计&#xff0c;毕竟立创EDA里面没有集成DS&#xff0c;因此&#xff0c;如何让DS能识别图片成了重中之重。所幸最近腾讯元宝里面集成了R1的满血版&#xff0c;这个版本可以上传图片&#xff0c;于是让DS识别图片就可能了。 在原理图设计…

详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本

nbconvert 是 Jupyter 提供的一个非常强大的工具&#xff0c;允许用户将 Jupyter Notebook 文件&#xff08;.ipynb&#xff09;转换成多种格式&#xff0c;包括 Python 脚本&#xff08;.py&#xff09;、HTML、PDF、LaTeX 等。你可以通过命令行来运行 nbconvert&#xff0c;也…

windows上传uniapp打包的ipa文件到app store构建版本

uniapp是一个跨平台的框架&#xff0c;使用windows电脑也可以开发ios软件&#xff0c;因为uniapp的打包是在云端实现的&#xff0c;本地电脑无需使用mac电脑即可完成打包。 但是打包后的ipa文件需要上架到app store的构建版本上&#xff0c;没有mac电脑&#xff0c;又如何上架…

PySide(PyQT),QGraphicsItem的pos()和scenePos()区别

在QGraphicsItem中&#xff0c;pos()和scenePos()是两个重要的方法&#xff0c;用于描述图形项的位置&#xff0c;但它们的含义和用途有所不同。理解它们的区别对于正确操作和管理QGraphicsItem的位置至关重要。 1. pos()方法 • 定义&#xff1a;pos()返回的是QGraphicsItem在…

消防设施操作员考试备考:以技巧为翼,翱翔知识天空​

消防设施操作员考试的备考过程中&#xff0c;掌握实用技巧能让学习事半功倍。以下为您介绍一系列备考技巧&#xff0c;助您在知识的天空中自由翱翔。​ 记忆技巧&#xff1a;化繁为简​ 消防知识众多&#xff0c;记忆难度较大。可以采用多种记忆方法&#xff0c;如口诀记忆法…

物联网商业模式

物联网商业模式是一种战略规划&#xff0c;它融合了物联网技术来创造价值并获取收入。它与传统商业模式的不同之处在于&#xff0c;它利用互联设备来改善运营、提升客户体验以及优化服务项目。在当今由科技驱动的世界中&#xff0c;这种商业模式通过利用实时数据来提供创新服务…

【RabbitMQ】事务

事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的&#xff0c;该协议实现了事务机制&#xff0c;因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的&#xff0c…

MVCC的理解(Multi-Version Concurrency Control,多版本并发控制)

1.事务特性(ACID) 原子性&#xff1a;事务要么全部成功&#xff0c;否则全部回滚 一致性&#xff1a;保证逻辑完整性&#xff08;关联表删除&#xff09; 隔离性&#xff1a;事务并发隔离&#xff08;行锁&#xff0c;间隙锁&#xff09; 持久性&#xff1a;已提交的事务永…

每日一题----------集合

数组&#xff1a; &#xff08;1&#xff09;长度开始必须指定&#xff0c;而且一但指定&#xff0c;不能修改。 &#xff08;2&#xff09;保存的必须为同一类型的元素。 &#xff08;3&#xff09;使用数组进行增加元素的代码--比较麻烦。 如果要添加数据则需要&#xff…

滑动窗⼝(同向双指针)---最⼤连续1的个数III

题目链接 给定一个二进制数组 nums 和一个整数 k&#xff0c;假设最多可以翻转 k 个 0 &#xff0c;则返回执行操作后 数组中连续 1 的最大个数 。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出&#xff1a;6 解释&#xff1a;[1,1,1,0,0,…

《几何原本》命题I.30

《几何原本》命题I.30 平行于同一直线的两条直线互相平行。 设 l 1 ∥ l 2 , l 1 ∥ l 3 l_1\parallel l_2,l_1\parallel l_3 l1​∥l2​,l1​∥l3​ 则 ∠ 1 ∠ 2 , ∠ 1 ∠ 3 \angle 1\angle 2,\angle 1\angle 3 ∠1∠2,∠1∠3 则 ∠ 2 ∠ 3 \angle 2\angle 3 ∠2∠3…

dify-SQL查询

第1节 DIFY 编排流程 1.1 步骤 1.开始&#xff1a;用户输入分析需求 2.LLM-SQL 专家&#xff1a;大模型根据用户输入需求生成 SQL 查询 3.SQL查询&#xff1a;执行查询并获取数据 4.结束&#xff1a;输出查询结果集 1.2 工作流 第2节 组件配置 2.1 开始 新建一个开始组件&am…

贪心算法精解:用C++征服最优解问题

贪心算法精解&#xff1a;用C征服最优解问题 一、贪心算法的本质&#xff1a;当下最优即全局最优 贪心算法如同下棋高手&#xff0c;每一步都选择当前最优的走法。它的核心思想是&#xff1a;通过局部最优选择的叠加&#xff0c;最终得到全局最优解。这种算法在时间复杂度上往…

一文了解汽车图像传感器

2024年底,安森美做了题为"How Automotive Image Sensors Transform the Future of Autonomous Driving"的演讲,这里结合其内容对自动驾驶图像传感器做一个介绍。 当前的自动驾驶感知技术主要有两大技术路线:一种是仅使用摄像头作为传感器进行信息采集的纯…

2025数据存储技术风向标:解析数据湖与数据仓库的实战效能差距

一、技术演进的十字路口 当前全球数据量正以每年65%的复合增长率激增&#xff0c;IDC预测到2027年企业将面临日均处理500TB数据的挑战。在这样的背景下&#xff0c;传统数据仓库与新兴数据湖的博弈进入白热化阶段。Gartner最新报告显示&#xff0c;采用混合架构的企业数据运营效…

ubuntu软件

视频软件&#xff0c;大部分的编码都能适应 sudo apt install vlc图片软件 sudo apt install gwenview截图软件 sudo apt install flameshot设置快捷键 flameshot flameshot gui -p /home/cyun/Pictures/flameshot也就是把它保存到一个自定义的路径 菜单更换 sudo apt r…

《面向对象程序设计-C++》实验一 熟悉Visual C++开发环境及上机过程

一、实验目的 了解和使用VC集成开发环境&#xff1b;熟悉VC环境的基本命令和功能键&#xff1b;熟悉常用的功能菜单命令&#xff1b;学习使用VC环境的帮助&#xff1b;学习完整的C程序开发过程&#xff1b;理解简单的C程序结构。 二、实验内容 使用Visual C 6.0集成环境来编…

Java的 JDBC 编程

1. Java的数据库编程&#xff1a;JDBC JDBC&#xff1a;Java 通过JDBC这样的技术来操作 MySQL MySQL 是一个基于 C/C 实现的数据库。 本身也提供了一系列的 API &#xff08;Application Progromming Interface&#xff09;&#xff0c;让程序员调用&#xff0c;从而通过代码来…

开源!速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器

开源&#xff01;速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器 目录 开源&#xff01;速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器本项目未经授权&#xff0c;禁止商用&#xff01;本项目未经授权&#xff0c;禁止商用&#xff01;本项目未经授权&…