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

解决git无法上传大文件(50MB)

解决方法

使用LFS解决GitHub无法上传大于50MB的文件

LFS简介

Git LFS(Large File Storage)是 Git 的一个扩展,用于管理大型文件,如二进制文件、图像、音频和视频文件等。它的主要目的是解决 Git 对大型二进制文件的版本控制和存储问题。通常情况下,将大型二进制文件纳入 Git 版本控制会导致存储和性能方面的问题,因为 Git 不是为处理这些文件而设计的。

详细步骤

1、Windows下载安装LFS。下面是官网https://git-lfs.com/,在这里下载好后安装,会自动检测电脑的git信息并登录。

在git里用下面命令初始化:

git lfs install

2、找到你的本地仓库,比如我的网址:E:\GitHub\sfssa.github.io,在这个文件夹内点击鼠标右键选择"git bash here",输入下面指令:

git lfs track "*.zip"

 这条命令是追踪所有以.zip为结尾的文件,然而当我在追踪时却遇到了问题如下:

这是由于我的配置文件出了问题,输入下面两条命令检查里面的内容有没有重复的:

git config --local --edit

git config --global --edit

 输入上述指令会打开一个文件,查看里面的内容有没有重复的,有就删除,保留一个就行,我的当时就是"url"有两个重复了。

之后再次输入命令:

git lfs track "*.db"

 我们可以看到:

可以用命令:git lfs track查看:

实际上这是修改了我们的.gitattributes文件,.gitattributes 文件是用来配置 Git 存储库中文件的属性和行为的文件。它可以用来指定如何处理存储库中的文件。为了让它生效,我们需要提交:

git add .gitattributes

git commit -m "描述"

git add test.db                (db>50M)

git push

之后就可以在GitHub上看见了。

LFS原理

具体来说,Git LFS将大文件替换为指向远程存储的指针。这些指针存储在Git存储库中,而实际的大文件则存储在Git LFS服务器上。当你执行 git checkout 命令并切换到包含大文件的分支时,Git LFS会根据需要下载这些大文件。这样可以减小Git存储库的大小,提高效率,因为不会在每次 checkout 时都下载所有大文件。

因此,在 checkout 阶段,Git LFS会检查你所需的大文件是否已经存在本地,如果不存在,则会从Git LFS服务器下载。这使得你只需下载和管理实际需要的大文件,而不必下载整个Git存储库的所有大文件。

需要注意的是,Git LFS需要额外的配置和设置,以确保它正确工作。你需要在Git存储库中启用Git LFS,并在Git LFS服务器上存储大文件。在克隆或 checkout 存储库时,Git LFS将根据配置自动执行下载。

checkout 是一个非常重要的操作,它用于在不同的分支之间切换,查看历史版本,创建新的分支等等。)

http://www.lryc.cn/news/161997.html

相关文章:

  • 用递归实现字符串逆序(不使用库函数)
  • 初学python(一)
  • Excel VSTO开发8 -相关控件
  • 华为数据管理——《华为数据之道》
  • Flink CDC 菜鸟教程 -环境篇
  • 【线上问题】linux部署docker应用docker-compose启动报端口占用问题(感觉上没有被占用)
  • 解决虚拟机克隆后IP和命名冲突问题
  • 分享一个python基于数据可视化的智慧社区服务平台源码
  • [密码学入门]凯撒密码
  • 博客之QQ登录功能(一)
  • Redis多机数据库实现
  • Leangoo领歌 -敏捷任务管理软件,任务管理更轻松更透明
  • go的iris框架进行本地资源映射到服务端
  • 代码随想录day46|139. 单词拆分
  • MATLAB实现函数拟合
  • vue优化首屏加载时间优化-cdn引入第三方包
  • lv4 嵌入式开发-3 标准IO的读写
  • iOS UIDevice设备信息
  • SLAM ORB-SLAM2(2)编译安装
  • 第11节-PhotoShop基础课程-索套工具
  • Json字符串内容比较-超实用版
  • Redis系列之客户端Redisson
  • centos 端口被占用的快速排查方式
  • Java“牵手”淘宝商品列表数据,关键词搜索淘宝商品数据接口,淘宝API申请指南
  • OpenEuler/CentOS如何修改密码策略
  • # Spring MVC与RESTful API:如何设计高效的Web接口
  • Scrum敏捷模式的优势点、实践经验及适用企业
  • 【C++杂货铺】探索stack和queue的底层实现
  • “系统的UI”——SystemUI
  • 类和对象:构造函数,析构函数与拷贝构造函数