首页 > 其他分享 >GitLab 之 Git LFS 大文件存储的配置

GitLab 之 Git LFS 大文件存储的配置

时间:2024-08-10 12:16:01浏览次数:8  
标签:文件 Git LFS GitLab git lfs

参考
https://cloud.tencent.com/developer/article/1010589

  1. LFS介绍

    Git 大文件存储(Large File Storage,简称LFS)目的是更好地把大型二进制文件,比如音频文件、数据集、图像和视频等集成到 Git 的工作流中。我们知道,Git 存储二进制效率不高,因为它会压缩并存储二进制文件的所有完整版本,随着版本的不断增长以及二进制文件越来越多,这种存储方案并不是最优方案。而 LFS 处理大型二进制文件的方式是用文本指针替换它们,这些文本指针实际上是包含二进制文件信息的文本文件。文本指针存储在 Git 中,而大文件本身通过HTTPS托管在Git LFS服务器上。

  2. 系统环境和软件环境
    系统环境

# cat /etc/redhat-release 
CentOS Stream release 9
# uname -a
Linux CentOSStream9Git215 5.14.0-381.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Oct 30 23:56:21 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

软件版本

# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
 GitLab:       16.5.1 (d59d7a49a1f) FOSS
 GitLab Shell: 14.29.0
 PostgreSQL:   13.11
------------------------------------------------------------[ booted in 57.47s ]
Loading production environment (Rails 7.0.8)
# git version
git version 2.39.3
  1. lfs支持
    为了更好的服务社区,满足版本大型文件的需求,GitLab 宣布支持 Git LFS,现在已经包括在 GitLab.com,GitLab 社区版本和 GitLab 企业版本。但是 GitLab 对 Git LFS 支持需要满足:
    Git LFS is supported in GitLab starting with version 8.2. (gitlab版本需要 >= 8.2)
    Git LFS must be enabled under project settings (必须在项目设置中开启LFS)
    Users need to install Git LFS client version 1.0.1 and up (本地git lfs客户端版本 >= 1.0.1)
  2. 客户端安装git-lfs
    Gitlab默认支持lfs无需配置
    git客户端默认不安装lfs需要安装
# yum -y install git-lfs
  1. Git提交大文件
    Gitlab新建仓库
    客户端clone仓库
# git  clone http://192.168.3.215/liuym/lfs.git

进入目录复制一个大文件

# cp lfs-bak/ubuntu-22.04.4-desktop-amd64.iso lfs

提交大文件

# 设置存储到 LFS 的文件,如果有多个类似文件可以使用通配符 "*.iso"
# git lfs track ubuntu-22.04.4-desktop-amd64.iso
Tracking "ubuntu-22.04.4-desktop-amd64.iso"
# 会在当前目录生成文件.gitattributes可以查看该文件内容记录了lfs文件信息
# cat .gitattributes 
ubuntu-22.04.4-desktop-amd64.iso filter=lfs diff=lfs merge=lfs -text
# 添加提交
# git add ubuntu-22.04.4-desktop-amd64.iso 
# git add .gitattributes 
# git commit -m "Commit a big file"
# git push

查看仓库已经把大文件提交上去
image
image
6. Git下载大文件

# git  lfs clone http://192.168.3.215/liuym/lfs.git

注意: 下载大文件需要加参数lfs 本次测试不加lfs也能把大文件下载下来

标签:文件,Git,LFS,GitLab,git,lfs
From: https://www.cnblogs.com/minseo/p/18352161

相关文章

  • Git和GitHub:开启你的开源之旅(入门级干货教程)
    Git及GitHub使用教程Git部分Git概述Git是一个免费的开源的分布式版本控制系统。版本控制系统版本控制系统是一种记录文件历史修改记录,以便将来查阅特定版本修订情况的系统。集中式版本控制工具VS分布式版本控制工具集中式版本控制工具:特点:所有文件版本和历史......
  • 接口自动化-YAPI+GITLAB+JENKINS+飞书畅想与实践
    起因工作中遇到期望做接口自动化,之前公司跟着团队做过python+request搭建的自动化框架,逐步完善框架本身,与接口测试用例本身,都是需要代码编写能力较强,能保证框架本身没问题,也要保证接口用例本身没问题。领导期望接口自动化能做到闭环,从代码产生开始到接口测试结果结束,都可以......
  • 记某项目的vue.config.js的配置,主要是获取git版本信息,并写入新创建的json文件
    /**@format*/constmoment=require("moment");constFileManagerPlugin=require("filemanager-webpack-plugin");constGreatePlugin=require("generate-asset-webpack-plugin");constshell=require("shelljs");le......
  • gitignore文件的使用
    在使用GitLab进行版本控制时,如果你想要忽略一些文件或目录不被提交(比如生成的权重、预测的图片等),你可以在项目的根目录下创建或编辑一个.gitignore文件。在这个文件中,你可以列出那些你希望Git忽略的文件和目录的模式。1.基本语法每条规则占一行空白行或以#开头的行:这......
  • git常用命令
    文章目录基本命令远程库相关命令标签相关命令很久之前学习的时候记录的,可能有错误的地方。现在基本都是直接用idea操作,所以也不用特别的去记忆不常用的命令。基本命令命令含义gitinit初始化仓库,默认分支mastergitadd文件名提交到暂存区gitadd.提交所有文件......
  • git --- 合并分支(bugfix ---> master)
    普通合并普通合并是将要合并的分支的更改逐个提交到目标分支上。以下是普通合并的步骤:步骤1:切换到目标分支,也就是要将更改合并到的分支上。gitcheckout目标分支名称步骤2:执行合并命令。gitmerge要合并的分支名称步骤3:解决冲突(如果有)。如果在合并过程中出现冲突,需......
  • git submodule
    1.先来个官方的APIgitsubmodule[--quiet]add[<options>][--]<repository>[<path>]gitsubmodule[--quiet]status[--cached][--recursive][--][<path>…​]gitsubmodule[--quiet]init[--][<path>…​]gitsubmodule[--quiet]dein......
  • Centos上Jenkins+git+allure使用教程
    1、Jenkins上下载allure 2、下载安装完成后重启Jenkins,然后查看allure插件安装成功,如下图所示 3、Jenkins服务器上,安装allure-2.26.0,安装完成后配置环境变量,vi/etc/profile配置环境变量添加exportPATH=$PATH:/usr/local/allure-2.26.0/bin保存环境变量source/etc......
  • GitHub每日最火火火项目(8.7)
    项目名称:bghira/SimpleTuner项目介绍:SimpleTuner是一个面向StableDiffusion2.1、StableDiffusion3、DeepFloyd和SDXL的通用微调工具包。它旨在为这些模型提供一种便捷的方式进行微调,以适应不同的应用场景和需求。通过使用SimpleTuner,用户可以调整模型的参数,从而提高......
  • GitHub每日最火火火项目(8.8)
    项目名称:bghira/SimpleTuner项目介绍:SimpleTuner是一个通用的微调工具包,主要面向StableDiffusion2.1、StableDiffusion3、DeepFloyd和SDXL等模型。它为这些模型的微调提供了便利,使用户能够更轻松地调整模型的参数,以满足不同的应用需求。通过SimpleTuner,用户可以更好......