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

使用Git LFS管理大型文件

💓 博客主页:瑕疵的CSDN主页
📝 Gitee主页:瑕疵的gitee主页
⏩ 文章专栏:《热点资讯》

使用Git LFS管理大型文件

    • 引言
    • Git LFS 简介
      • 安装 Git LFS
        • 安装 Git
        • 安装 Git LFS
      • 配置 Git LFS
      • 初始化 Git 仓库
      • 指定需要使用 Git LFS 管理的文件类型
      • 添加文件到仓库
      • 提交更改
      • 推送到远程仓库
      • 克隆包含 Git LFS 文件的仓库
      • 更新现有的 Git 仓库
      • 查看 Git LFS 文件
      • 删除 Git LFS 文件
      • 高级配置
        • 设置 Git LFS 存储限制
        • 管理 Git LFS 存储
      • 实际案例
      • 总结

引言

在使用 Git 进行版本控制时,经常会遇到需要管理大型文件的情况,比如视频、音频、大型文档等。这些文件不仅占用大量的存储空间,还会导致 Git 仓库变得臃肿,影响克隆和拉取的速度。Git Large File Storage (LFS) 是一个 Git 扩展,专门用于管理大型文件。本文将详细介绍如何使用 Git LFS 来管理大型文件,提高 Git 仓库的性能。

Git LFS 简介

Git LFS 是一个开源的 Git 扩展,它允许你将大型文件存储在远程服务器上,而不是直接存储在 Git 仓库中。这样做的好处包括:

  • 节省存储空间:大型文件存储在远程服务器上,Git 仓库中只保留指向这些文件的指针。
  • 提高性能:克隆和拉取仓库时,不会下载所有的大型文件,只有在需要时才会下载。
  • 易于管理:可以轻松地跟踪和管理大型文件的历史版本。

安装 Git LFS

在使用 Git LFS 之前,需要先安装 Git 和 Git LFS。以下是安装步骤:

安装 Git
如果你还没有安装 Git,可以通过以下命令安装:

# Ubuntu
sudo apt-get update
sudo apt-get install git# macOS
brew install git# Windows
https://git-scm.com/download/win

安装 Git LFS
安装 Git LFS 的步骤如下:

# Ubuntu
sudo apt-get install git-lfs# macOS
brew install git-lfs# Windows
https://github.com/git-lfs/git-lfs/releases

安装完成后,运行以下命令初始化 Git LFS:

git lfs install

配置 Git LFS

在使用 Git LFS 之前,需要配置你的 Git 用户信息:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

初始化 Git 仓库

如果你还没有 Git 仓库,可以创建一个新的仓库:

git init

如果已经有 Git 仓库,可以直接进入仓库目录:

cd your-repo

指定需要使用 Git LFS 管理的文件类型

你可以指定哪些类型的文件需要使用 Git LFS 管理。例如,如果你想管理所有的 .mp4.psd 文件,可以运行以下命令:

git lfs track "*.mp4"
git lfs track "*.psd"

这将会在 .gitattributes 文件中添加相应的条目:

*.mp4 filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text

添加文件到仓库

将需要管理的大型文件添加到仓库中:

git add path/to/large-file.mp4

提交更改

提交更改到本地仓库:

git commit -m "Add large file using Git LFS"

推送到远程仓库

将更改推送到远程仓库:

git push origin main

克隆包含 Git LFS 文件的仓库

克隆包含 Git LFS 文件的仓库时,Git LFS 会自动下载所需的大型文件。运行以下命令克隆仓库:

git clone https://your-repo-url.git

更新现有的 Git 仓库

如果你已经有一个 Git 仓库,并且想将其中的大型文件迁移到 Git LFS,可以使用 git lfs migrate 命令。例如,将所有的 .mp4 文件迁移到 Git LFS:

git lfs migrate import --include="*.mp4"

查看 Git LFS 文件

你可以查看仓库中使用 Git LFS 管理的文件:

git lfs ls-files

删除 Git LFS 文件

如果你不再需要某个 Git LFS 文件,可以删除它:

git rm path/to/large-file.mp4
git commit -m "Remove large file"
git push origin main

高级配置

设置 Git LFS 存储限制
你可以设置 Git LFS 存储的限制,以避免意外超出存储配额。例如,设置存储限制为 10GB:

git config lfs.fetchinclude "*.mp4"
git config lfs.fetchexclude "*.psd"

管理 Git LFS 存储
你可以查看 Git LFS 存储的使用情况:

git lfs storage

实际案例

Git LFS 已经被广泛应用于各种场景,例如:

  • 媒体文件管理:管理视频、音频等媒体文件,提高 Git 仓库的性能。
  • 设计文件管理:管理 PSD、AI 等设计文件,方便团队协作。
  • 数据文件管理:管理大型数据文件,支持数据科学项目。

总结

通过本文,你已经学会了如何使用 Git LFS 来管理大型文件,提高 Git 仓库的性能。Git LFS 的高效管理和灵活配置使其成为处理大型文件的理想选择。
Git LFS 项目结构图

Git LFS 可以显著提高 Git 仓库的性能,特别是当需要管理大量大型文件时。
Git LFS 文件管理示意图

相关文章:

使用Git LFS管理大型文件

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Git LFS管理大型文件 引言 Git LFS 简介 安装 Git LFS 安装 Git 安装 Git LFS 配置 Git LFS 初始化 Git 仓库 指定需要使用…...

OpenAI终于正式上线搜索功能,搜索行业要变天了?

OpenAI 的 AI 搜索功能也将引发一场激烈的竞争。 各大科技公司都不会坐视不理,他们必然会纷纷加大对 AI 搜索技术的研发投入,试图在这个新兴的领域分一杯羹。这就像是一场没有硝烟的战争,各方势力都在暗中较劲,谁能笑到最后&…...

ssm《数据库系统原理》课程平台的设计与实现+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码看文章最下面 需要定制看文章最下面 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容…...

Java SpringBoot调用大模型AI构建AI应用

本文是一个用springboot 结合spring mvc 和spring ai alibaba 调用国产大模型通义千问的具体例子,按照这个做能够快速的搞定Java应用的调用。 然后就可以把这类应用泛化到所有的涉及到非结构化数据结构化的场景中。 Spring AI:简化Java中大模型调用的框…...

MySQL【二】

查询列 SELECT [ALL | DISTINCT ] * | 列名1[,……列名n] FROM 表名; 查询所有选课学生的学号,结果去除重复值 select distinct sno from sc; 选择行 查询满足条件的数据集 SELECT 字段列表 FROM 表名 WHERE 查询条件 查询不属于数学系或外国语系的学生全部信息 …...

SQL 常用语句

目录 我的测试环境 学习文档 进入数据库 基础通关测验 语句-- 查 展示数据库; 进入某个数据库; 展示表: 展示某个表 desc 查询整个表: 查询特定列: 范围查询 等于特定值 不等于 介于 特定字符查询 Li…...

前端埋点系统之如何用heatmap.js画网页热力图

Hello,大家好。在当今数字化时代,理解用户行为成为了企业成功的关键之一。随着互联网的发展,用户与网站、应用和产品的互动变得愈发复杂而多样化。在这样的背景下,埋点系统成为了洞察用户行为的重要工具之一。而其中的热力图分析&…...

CentOS 7系统下Redis Cluster集群一键部署脚本发布

引言 在大数据和云计算时代,Redis作为一款高性能的键值存储数据库,广泛应用于各种场景。然而,手动搭建Redis Cluster集群过程繁琐且容易出错。为了简化这一过程,本文提供了一个在CentOS 7系统下Redis Cluster集群的一键部署脚本,帮助开发者快速搭建Redis Cluster集群。 …...

自编以e为底的对数函数ln,性能接近标准库函数

算法描述: (1). 先做自变量x的范围检查,不能出现负数和0. 自己使用时,如果能通过其它途径保证自变量为正,那么可以省略这两个判断,提高速度。 (2). 根据IEEE 754浮点数的格式,,则 ln(x)kln(2)ln…...

Java中的日期时间

JDK8之前常用的日期时间类 System.currentTimeMillis():获取当前毫秒数(long类型) java.util.Date:通用Date类 import java.util.Date;Date date new Date(); // 空参构造器 System.out.println(date.getTime()); // 获取当前时…...

位置编码的表示

位置编码的表示位置编码的表示位置编码的表示位置编码的表示位置编码的表示...

0,国产FPGA(紫光同创)-新建PDS工程

国产FPGA正在蓬勃发展,紫光同创FPGA是大家竞赛时经常遇到的一款国产FPGA,本专栏从IP核开始一直到后续图像处理等。 开发板:盘古50K标准板 1,新建PDS工程 点击File(1),然后是New Projects&#…...

c++联合

结构体与联合体的区别 结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全分配。 而联合体(union)中是各变量是“互斥”的——缺点就是不够“包容”&#xff…...

Edit Data. Create Cell Editors. Validate User Input 编辑数据。创建 Cell Editors。验证用户输入

Goto Data Grid 数据网格 Edit Data. Create Cell Editors. Validate User Input 编辑数据。创建 Cell Editors。验证用户输入 Get and Modify Cell Values in Code 在代码中获取和修改单元格值 仅当 Grid 及其列已完全初始化时,才使用以下方法。如果需要在表单仍…...

Java 文件操作与IO流

文件 文件有两个概念,在广义来看就是操作系统上对硬件和软件资源抽象为文件。 在侠义上来看,就是我们保存在硬盘上的文件 在这里我们讨论的是狭义的文件,在外面的硬盘上的文件细分又可以分为二进制文件和文本文件,文本文件可以通…...

探索开源MiniMind项目:让大语言模型不再神秘(1)

简介: 声明:本人非此项目作者,仅仅是探索项目,分享项目。如有不妥,请联系我删除! 原项目地址:GitHub - jingyaogong/minimind: 「大模型」3小时完全从0训练26M的小参数GPT,个人显卡即…...

Android 大疆面经

Android 大疆面经 文章目录 Android 大疆面经一面 一面 自我介绍问项目聊了10分钟View的绘制流程MVC,MVP,MVVM的区别view和viewmodel的通信,除了databing还有其他的方式面向对象和面向过程的区别工厂模式和策略模式,哪些框架使用…...

【2024-10-31-2024-11-03】LeetCode刷题——python语法基础题

📝前言说明: ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站作者灵茶山的视频进行学习,专栏中一篇文章为B站对应的一个视频 题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。 ●文章中的理…...

【算法】二分查找

目录 一、概念 二、思路 三、边界问题 一、概念 在一本书中查找某一页,我们总是倾向于先翻到整本书的中间,然后根据当前页数判断我们想要找的页在当前页的左半本中还是右半本中,接着继续翻到剩下半本书的中间...... 这就是二分查找思想在…...

第十五章 Vue工程化开发及Vue CLI脚手架

目录 一、引言 二、Vue CLI 基本介绍 三、安装Vue CLI 3.1. 安装npm和yarn 3.2. 安装Vue CLI 3.3. 查看 Vue 版本 四、创建启动工程 4.1. 创建项目架子 4.2. 启动工程 五、脚手架目录文件介绍 六、核心文件讲解 6.1. index.html 6.2. main.js 6.3. App.vue 一、…...

三轴 MEMS 加速度传感器在工业预测性维护中的关键应用

1. 三轴MEMS加速度传感器如何成为工业设备的"听诊器" 想象一下医生用听诊器检查病人心跳的场景。三轴MEMS加速度传感器在工业领域扮演着类似的角色,只不过它"听诊"的对象换成了电机、风机这些设备。这个火柴盒大小的装置(303019mm&…...

AudioSeal小白入门:无需代码,用90年代复古界面快速加密你的音频

AudioSeal小白入门:无需代码,用90年代复古界面快速加密你的音频 1. 什么是AudioSeal? AudioSeal是Meta公司开发的一款前沿音频水印技术,它能在不影响音质的前提下,将数字签名"隐形"嵌入到音频文件中。想象…...

Bedook超声波传感器应用测试

⒈实物和型号⑴产品型号:Bedook UM30-T20P-C31S12-X(PNP型)⑵实物图片:⑶产品规格:一般说明感应距离150…2000mm调节范围200…2000mm盲区0…150mm标准检测物100mm100mm换能器频率112kHz响应延时出厂设定200ms工作方式/…...

嵌入式Linux开发板CH340驱动安装避坑指南(附详细步骤图)

嵌入式Linux开发板CH340驱动安装全流程解析与疑难排错 第一次接触嵌入式Linux开发板时,最让人头疼的往往不是代码编写,而是最基础的开发环境搭建。作为连接电脑与开发板的重要桥梁,CH340串口驱动的安装质量直接决定了后续调试效率。许多初学者…...

大模型上下文长度的优化策略与应用场景

1. 大模型上下文长度的本质与挑战 当你和ChatGPT聊天时,有没有遇到过它突然"失忆"的情况?比如聊到第20轮对话时,它完全忘记了开头讨论的主题。这就是上下文长度限制导致的典型问题。所谓上下文长度,就是大模型能够记住和…...

STM32F103C8T6光敏云台DIY全流程:从硬件选型到代码调试(附避坑指南)

STM32F103C8T6光敏云台DIY全流程:从硬件选型到代码调试(附避坑指南) 去年夏天,我在阳台上搭建了一个小型太阳能发电系统,却发现电池板效率总是不稳定。经过观察发现,阳光角度变化导致光照强度差异显著。这个…...

新手必看|SRC平台漏洞挖掘全攻略(2026干货版):平台详解+规则必记+实操步骤

新手必看|SRC平台漏洞挖掘全攻略(2026 干货版):平台详解规则必记实操步骤 对于网络安全新手、计算机相关专业学生,以及想转型安全领域的从业者而言,SRC平台是合法练手、积累实战经验、衔接职场的核心载体。…...

通达信数据接口Python化:量化投资数据获取的革命性方案

通达信数据接口Python化:量化投资数据获取的革命性方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 还在为股票数据的获取而烦恼吗?传统的数据接口往往复杂难用&#xf…...

构建自主海上防御系统:Mirai Robotics融资420万美元

Mirai Robotics已筹集420万美元的Pre-Seed轮资金,旨在构建自主和智能的海上系统。本轮融资由Primo Ventures、Techshop和40Jemz Ventures领投,并有来自意大利和国际的天使投资人参与。 海洋是地球上最关键的基础设施之一。全球超过80%的贸易通过海路运输…...

如何在浏览器中免安装使用微信?这个开源插件给你答案!

如何在浏览器中免安装使用微信?这个开源插件给你答案! 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 你是否曾经遇到过这样的…...