Git LFS Github 提交大文件

news2024/9/30 11:24:33

问题背景

2024-03-03
一篇微服务系统测试工具的论文,事后发现自己一开始的理解有问题,导致自己算的预期值和论文中正确的值不一样。

测试工具原型的依赖定义有缺失,默认可能会用当前最新版,但时过境迁”最新版“变化会导致不兼容,因为不熟悉Python具体原因不确定。

工具的测试结果通过屏幕输出,我希望保存下来,但最大的单个日志文件比较大,超过Github支持的100MB,提示用LFS。

问题解决

安装Git LFS

git-lfs 项目 中的文档中有安装命令

对于 Ubuntu 系统:

(. /etc/lsb-release &&
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)

sudo apt-get install git-lfs

在Git配置LFS

参考Git LFS官网

执行以下命令,每个用户账户只需执行一次:

git lfs install

在项目中使用LFS

# Git LFS 追踪文件
## 追踪一类文件
git lfs track "*.psd"
## 追踪指定文件(以我的项目为例)
git lfs track netflix/functional/test_get_homepage-analysis.log.tar.gz
# 追踪文件会在 .gitattributes 加一条,因此需要同时暂存此文件
git add .gitattributes
# 正常暂存被追踪的文件,提交和推送
git add file.psd
git commit -m "Add design file"
git push origin main

查看Github上的Git LFS相关信息

在 Settings - Billing and plans - Plans and usage 页面
在这里插入图片描述
可以看到最多允许的大小(似乎不会实时更新?)(我的有学生优惠,但LFS似乎和免费版一样)
在这里插入图片描述
升级的价格(不便宜)
在这里插入图片描述

遇到的问题

不通过LFS提交大文件时的错误提示

推送到Github错误时的提示信息,除了提示用LFS,似乎还包括pre-receive hook declined,当时我是用push -f(不提倡)推送的,这个提示还有一种可能时Github存储库禁止对此分支的push -f。

Git代理配置

重装过一次宿主机,导致虚拟机IP变了,其中git使用宿主机的代理服务IP没有相应修改,发生错误,提示信息包含:

proxyconnect tcp: dial tcp 192.168.134.1:7890: connect: connection refused

提示信息还包含以下内容:

Remote “origin” does not support the LFS locking API. Consider disabling it with:
  $ git config 'lfs.https://github.com/AlbertLiangzt/learn.git/info/lfs.locksverify' false

Git 似乎有bug,因为推送失败是LFS通过Git代理推送时代理配置错误,不是远程"origin"不支持LFS,所以这个提示是的。

配置Git代理相关命令

git config --global https.proxy http://192.168.80.1:7890
git config --global https.proxy http://192.168.80.1:7890
git config --global --unset http.proxy
git config --global --unset https.proxy

LFS 超出配额

batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.

最大的一个日志有2G多,用了LFS会超出配置(1G),换成压缩后的(40+MB,实际已经不需要Git LFS)。

tar -czvf netflix/functional/test_get_homepage-analysis.log.tar.gz netflix/functional/test_get_homepage-analysis.log

TODO

用于绕过 Github 文件大小限制的工具(Git扩展,与Git LFS类似)

Github单文件最大100MB,LFS又有配额,价格不便宜。
也许可以实现一个工具,支持配置分割方式,提交时分割提交,签出时合并回来?
我的突发奇想,真这么做可能算滥用,可能被封号

参考资料

Github - git-lfs
Github - git-lfs安装文档
git-lfs

CSDN: proxyconnect refused
CSDN: git push 报错 pre-receive hook declined
git 设置和取消代理

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

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

相关文章

4款塞纸条盲盒交友源码,可以对接公众号

一元盲盒交友源码/脱单盲盒源码/交友盲盒/恋爱盲盒公众号版 可以对接自己支付,全部自定义 没有任何bug版本,已经测试完全可以 免费源码,不包搭建指导 源码下载地址专业知识分享社区-专业知识笔记免费分享 (chaobiji.cn)

springcloud:3.3测试重试机制

服务提供者【test-provider8001】 Openfeign远程调用服务提供者搭建 文章地址http://t.csdnimg.cn/06iz8 相关接口 测试远程调用:http://localhost:8001/payment/index 服务消费者【test-consumer-resilience4j8004】 Openfeign远程调用消费者搭建 文章地址http:/…

Git与GitHub:解锁版本控制的魔法盒子

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…

MyBatis 学习(七)之 缓存

目录 1 MyBatis 缓存介绍 2 一级缓存 3 二级缓存 3.1 二级缓存介绍 3.2 二级缓存配置 3.3 二级缓存测试 4 参考文档 1 MyBatis 缓存介绍 MyBatis 缓存是 MyBatis 中的一个重要特性,用于提高数据库查询的性能。MyBatis 提供了一级缓存和二级缓存两种类型的缓存…

数据结构:栈和队列的实现附上源代码(C语言版)

目录 前言 1.栈 1.1 栈的概念及结构 1.2 栈的底层数据结构选择 1.2 数据结构设计代码(栈的实现) 1.3 接口函数实现代码 (1)初始化栈 (2)销毁栈 (3)压栈 (4&…

求最短路径之BF算法

介绍 全称Bellman-Ford算法,目的是求解有负权边的最短路径问题。 考虑环,根据环中边的边权之和的正负,将环分为零环、正环、负环。其中零环、正环不会影响最短路径的求解,而负环会影响最短路径的求解。 可用BF算法返回一个bool值…

java开发环境配置一指禅

IDEA下载与安装 IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。 idea下载地址 。 JDK安装配置 JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环…

vue项目获取拼音首字母

工具包 pinyin-pro npm install pinyin-pro 官方地址 pinyin-pro | pinyin-pro性能优异、转换准确的 js 中文转拼音工具https://pinyin-pro.cn/示例代码(获取每个汉字的拼音首字母) import {pinyin} from pinyin-pro;function getPinyinInitial(name){if (name) {let py p…

aop监控spring cloud接口超时,并记录到数据库

引入pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

PlantUML简介

PlantUML简介 plantUML是一款开源的UML图绘制工具&#xff0c;支持通过文本来生成图形&#xff0c;使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图等图形的绘制。你可以在IDEA中安装插件来使用PlantUML, 或者在Visual Studio Code中安装插件。 也可以在dra…

2024免费mac苹果电脑的清理和维护软件CleanMyMac X

对于 Mac 用户来说&#xff0c;电脑的清理和维护是一件让人头疼的事情。但是&#xff0c;有了 CleanMyMac X&#xff0c;这一切都将变得轻松愉快。CleanMyMac X 是一款专为 Mac 设计的电脑清理软件&#xff0c;它以其强大的功能和简单的操作&#xff0c;让无数用户为之倾倒。 C…

C语言学习DAY22

内存泄漏&#xff1a;开辟的内存空间不使用了&#xff0c;但不释放该内存空间。

AutoSAR(基础入门篇)13.3-Mcal Dio配置

目录 一、Dio port配置 二、Dio pin配置 一、Dio port配置 同之前的Port一样,双击进入Dio配置界面后会看到几乎差不多的配置界面。General和Port类似,我们不再赘述,主要讲解Dio的配置 1. 其实Dio并没有什么实质的作用,主要起到了一个重命名的功能。双击DioConfig_0进入下…

spring项目单元测试

单元测试 每个功能开发完&#xff0c;项目上线前都要做单元测试 引入依赖 AssertJ&#xff1a;断言 测试用例 编写测试用例要求&#xff1a;保证测试方法的独立性 当前测试方法不能依赖于别的测试方法&#xff0c;也不依赖于数据库中某条特定数据。 如A方法插入一条数据&a…

在网页上踢球:打造我自己的python(Django)足球网站

足球不仅仅是球场上的90分钟。它是一个不断发展的故事&#xff0c;一个全球球迷社群的粘合剂&#xff0c;一个数据和热情交织的世界。作为一名开发者和球迷&#xff0c;我决定将这两大爱好结合起来&#xff0c;用 Django 打造一个足球网站&#xff0c;让球迷们能够追踪他们最爱…

LeetCode --- 三数之和

题目描述 三数之和 代码解析 暴力 在做这一道题的时候&#xff0c;脑海里先想出来的是暴力方法&#xff0c;一次排序&#xff0c;将这个数组变为有序的&#xff0c;再通过三次for循环来寻找满足条件的数字&#xff0c;然后将符合条件的数组与之前符合条件的数组进行一一对比…

YOLOv9独家原创改进|使用HWD:Haar小波下采样模块

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、论文简介 最大池化或跨步卷积等下采样操作在卷积神经网络&#xff08;CNNs&#xff09;中广泛使用&#xff0c;以聚合局部特征&#xff0c;扩大感…

基于springboot+vue的客户关系管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Linux系统管理:虚拟机 Kali Linux 安装

目录 一、理论 1.Kali Linux 二、实验 1.虚拟机Kali Linux安装准备阶段 2.安装Kali Linux 2. Kali Linux 更换国内源 3. Kali Linux 设置固定IP 4. Kali Linux 开启SSH远程连接 5. MobaXterm远程连接 Kali Linux 三、问题 1.apt 命令 取代哪些 apt-get命令 一、理论…