Ubuntu22.04安装Git LFS

一、Git LFS的应用场景及其运行机制简介

1.1 Git LFS应用场景

Git LFS(Large File Storage,大型文件存储)是Git扩展,可以管理Github项目中的大文件的下载流程。Git LFS的应用场景非常广泛,这里仅列举出我实际遇到的两个简单场景:

  • (1)在进行机器学习或深度学习时,总是遇到模型太大,以至于GitHub仓库容纳不了。
  • (2)训练数据集数量非常多,GitHub仓库只能存储部分数据集,比如下图所示,microsoft/AEC-Challenge仓库中其中一个数据集中的.wav文件实际有9000条,而实际只能在GitHub仓库中只能显示1000条。

✨ 另外,如果我们不在系统中安装Git LFS情况下,在克隆像上面这种存储大量数据集的microsoft/AEC-Challenge仓库时,虽然能能够正常拷贝项目中的全部文件,但是,克隆到本地的echo_fileid_0.wav文件却是空文件,在读取.wav文件时会出现BUG。

1.2 Git LFS运行机制简介

由于客户端使用Git进行项目管理时候,会下载仓库中每个文件版本,所以对于包含大文件且经常修改这些大文件的项目,在使用Git初始克隆都需要大量的时间。此时,Git LFS就起到作用了,Git LFS(Large File Storage)通过延迟地下载大文件的相关版本来减少大文件在仓库中的影响。

具体来说,大文件只会在checkout过程中才进行下载,而不在clonefetch过程中执行下载任务。Git LFS的详细运行机制可以参考Git LFS官方文档

二、Git LFS的安装

  • 在Ubuntu22.04系统中添加GIT LFS第三方软件安装源
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

执行结果如下图所示:

如下图所示,在/etc/apt/sources.list.d/目录下就多了github_git-lfs.list文件:

github_git-lfs.list文件中的内容如下图所示:

  • 安装Git LFS的命令如下所示:
sudo apt isntall git-lfs

安装结果如下图所示,

  • 查看Git LFS安装的配置信息的命令
git lfs env

出现如下图红框中的内容则表示真正安装成功:

此时,我就解决一开始为什么下载的.wav文件为空文件的问题了,虽然还是正常git clone Github上包含大文件的仓库,与单纯的Git工具不同的是:

  • 如下图所示,在使用git cloneGithub上的仓库时会出现过滤内容这一项,这个过程就是在下载项目仓库中的大文件:
  • 由于安装了Git LFS,所有在克隆Github上的仓库时,在项目的.git中自动创建了与Git LFS相关的lfs/objectslfs/tmp文件,这些文件中缓存了大文件:

猜你喜欢

转载自blog.csdn.net/weixin_37926734/article/details/126851314