教你玩git LFS大文件存储操作详细教程

简介

这篇我们介绍一下git LFS以及演示git LFS的安装和使用方法

 

什么是 Git LFS?

Git 是一个分布式版本控制系统,这意味着存储库的整个历史记录都会在克隆过程中传输到客户端。对于包含大文件的项目,特别是定期修改的大文件,此初始克隆可能会花费大量时间,因为客户端必须下载每个文件的每个版本。 Git LFS(大文件存储)是由 Atlassian、GitHub 和其他一些开源贡献者开发的 Git 扩展,它通过延迟下载大文件的相关版本来减少存储库中大文件的影响。具体来说,大文件是在签出过程中而不是在克隆或获取过程中下载的。

 

安装 Git LFS

debian/ubuntu

apt-get install git-lfs

centos

yum install git-lfs

 

创建Git LFS存储库

初始化git

#新建个存储库目录
mkdir gitmulu

#进入目录
cd gitmulu

#创建一个新的git仓库
git init

初始化git-lfs

git lfs install

 

克隆现有的 Git LFS 存储库

我们就随便拿一个做为示例演示,使用【git clone】当指针文件从存储库中检出时,Git LFS 文件一次下载一个。

root@kt02:/home/gitmulu# git clone https://github.com/leggedrobotics/rayen.git
Cloning into 'rayen'...
remote: Enumerating objects: 1427, done.
remote: Counting objects: 100% (88/88), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 1427 (delta 77), reused 79 (delta 77), pack-reused 1339
Receiving objects: 100% (1427/1427), 833.37 KiB | 3.29 MiB/s, done.
Resolving deltas: 100% (885/885), done.
Filtering content: 100% (8/8), 4.23 MiB | 2.03 MiB/s, done.
root@kt02:/home/gitmulu#

 

加速克隆

下载的克隆包里如果含有大量的LFS文件的,则是使用【git lfs clone】来进行批量下载

root@kt02:/home/gitmulu# git lfs clone https://github.com/leggedrobotics/rayen.git
WARNING: `git lfs clone` is deprecated and will not be updated
          with new flags from `git clone`

`git clone` has been updated in upstream Git to have comparable
speeds to `git lfs clone`.
Cloning into 'rayen'...
remote: Enumerating objects: 1427, done.
remote: Counting objects: 100% (88/88), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 1427 (delta 77), reused 79 (delta 77), pack-reused 1339
Receiving objects: 100% (1427/1427), 833.37 KiB | 2.83 MiB/s, done.
Resolving deltas: 100% (885/885), done.
root@kt02:/home/gitmulu# 100% (8/8), 4.4 MB | 0 B/s                

 

THE END