首页 > 其他分享 >git lfs简易使用教程

git lfs简易使用教程

时间:2023-04-19 14:01:40浏览次数:39  
标签:文件 教程 git 仓库 clone lfs

  参考资料:

  https://zzz.buzz/zh/2016/04/19/the-guide-to-git-lfs/

  这篇随笔简单记录一下git lfs的使用教程,只记录最为常用的部分,并阐述原理,方便后面查阅。

  首先说明一下git lfs的原理,看名称:git lfs。lfs即Large File Storage,git lfs扩展了git仓库的容量和功能性,使得一个git仓库不仅仅能容纳轻量的文件(代码等),还能容纳大的多媒体文件,如模型,数据等等。git clone, git pull无法handle的文件,git lfs就能轻松管理,并且在需要的时候能以几十M每秒的高速传送速率下载到本地。

  一个典型的使用场景是hugging face模型库,官方给出了这样一个用例:

  这个用例实际上就是lfs的最简单用法,即:如果你的git支持lfs(这个需要确认,它是一个插件)那么前两行代码应当能够高速把文件给爬下来。

  那么如果我先不想下载这个仓库里面的大文件,想先暂时用一个个pointer作为lfs大文件的placeholder,应该怎么做?只需要配置GIT_LFS_SKIP_SMUDGE=1这个环境变量。

  但是,如果一个仓库里面有多余的大文件,比如stable-dffusion有512和768的版本,我只想要前者,那么直接用git clone可能就太笨重,有没有更优雅的方式?这里推荐一种方式:

git lfs install
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/prompthero/openjourney-v4

  然后使用lfs fetch exclude命令使得git不拉取我们不想要的东西,如:

git config lfs.fetchexclude "*.jpg,*.png,*.tga"

  上面这个命令其实就是存储在了.git/config文件里,然后我们运行:

git lfs fetch
git lfs checkout

  就能够下载我们想要的东西,并且把想要的东西的Pointer换成真正的二进制文件了。

标签:文件,教程,git,仓库,clone,lfs
From: https://www.cnblogs.com/chester-cs/p/17333056.html

相关文章

  • Mysql数据库的安装教程
    (Mysql数据库的安装教程)一、Mysql数据库介绍MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软......
  • Theme——借助github的API来实现主题自动更新
    前言那么借助的是那个api呢?这里是为了方便测试,使用的是tags,如果是正式的那么应该使用releases,这个后面会直接接入主题;内容侧边公告栏<script>asyncfunctionrequest(url='',method='GET',data={},headers={}){letoptions={method:method,......
  • git clone 指定用户名密码
    这种方法是因为本地git已经登录了一个git账号,但是没有权限,所以会用账号拉取。命令:gitclonehttp://邮箱(或用户名):密码@仓库格式:gitclonehttp://username:password@remote示例:gitclonehttp://15000000000:[email protected]/abc/projectName.git//示例中是假地址有另......
  • Git使用详解
    一、安装指引在Mac上安装Git之前,可以先使用git--version来查看一下是否安装了Git,因为Mac系统可能自带了Git,或者在你安装XCode(或者XCode的命令行工具)时,可能已经安装了Git。1.1安装如果尚未安装Git,或者已安装的Git版本过低,这里我们可以去Git官网https://git-scm.com进行安装......
  • git log
    gitlog命令是Git中用于查看提交历史的命令常用的命令gitlog:显示当前分支(HEAD)的全部提交记录,按照时间倒序排列。gitlog<commit>:从指定的提交记录开始显示,按照时间倒序排列。gitlog--follow<file>:显示指定文件的提交历史,并显示该文件的移动或重命名记录。gitlog-......
  • Three.js教程:材质效果
    推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生材质效果前面案例中几何体对应网格模型材质只是设置了一个颜色,实际渲染的时候往往会设置其他的参数,比如实现玻璃效果要设置材质透明度,一些光亮的表面要添加高光效果。半透明效果更改场景中的球体材质对象构造......
  • 动力节点2023版MyBatisPlus教程【进阶篇】
    来自B站动力节点最新版的MybatisPlus教程,整理了笔记——第四章高级篇4【高级篇】4.1主键策略4.1.1主键生成策略介绍首先大家先要知道什么是主键,主键的作用就是唯一标识,我们可以通过这个唯一标识来定位到这条数据。当然对于表数据中的主键,我们可以自己设计生成规则,生成主键。......
  • gitlab与openldap做权限认证
    1.gitlab开启并配置ldap编辑gitlab.rb配置文件打开编辑gitlab.rb配置文件:vi/etc/gitlab/gitlab.rbgitlab_rails['ldap_enabled']=true#gitlab_rails['prevent_ldap_sign_in']=falsegitlab_rails[‘ldap_servers’]=YAML.load<<-‘EOS’**EOS**为ldap相......
  • find基础命令与提权教程
    find命令用来在指定目录下查找文件,若不指定目录则视为当前目录find常用参数语法:find[path…][expression]path为查找路径,.为当前路径,/为根目录expression即为参数-name: 按文件名查找文件-perm: 按照文件权限来查找文件,4000,2000,1000为分别表示SUID,SGID,SBIT,如777为普......
  • Git
    1.版本控制版本控制是一种在开发过程中,用于管理我们对文件、目录或工程等内容的修改历史,方便查看历史记录,备份以便恢复以前版本的软件工程技术。实现跨区域多人协同开发追踪和记录一个或多个文件的历史记录组织和保护源代码和文档统计工作量并行开发,提高工作量记录跟踪整......