背景
我们知道Git用来托管源码代码是非常轻量和方便的,但是因为一些实际需要,我们可以需要把一些第三方的组件的二进制文件、或者项目资料放到库里面一起,但是和源码比起来,这些东西都是大家伙,不仅体积巨大,而且会影响到Git的整体使用速度,为了解决这个问题,Git扩展了一个大文件存储的方案,名为Large File Storage
, 简称LFS
。
什么是Git大文件存储(LFS)
Git大文件存储(Large File Storage, LFS) 将音频样本、视频、数据集和图形等大文件替换为Git内部的文本指针,同时将文件内容存储在GitHub.com或GitHub Enterprise等远程服务器上。
工作原理
如下图所示
安装Git大文件存储(LFS)
Windows下安装
在Git For Windows中就已经包括了它,原则上不用额外安装。
git lfs --version
Linux下安装
sudo apt install git-lfs
初始化LFS
git lfs install
配置Git大文件存储(LFS)
Github默认容量
Github默认就送了1GB的Git LFS空间,用完还可以单独买,从Settings
-Billing and Plans
-Git LFS Data
处可以看到使用和剩余情况。
勤学实战
创建示例项目demoForGitLFS
mkdir demoForGitLFS
Git初始化项目
将它进行初始化
git init
准备演示目录和文件
为了方便演示,我们在根目录创建一些文件
new-item 1.txt
new-item 1.dll
new-item 1.so
new-item 1.exe
另外我们最好往文件里面写入一些信息,必然它的大小将是零字节。
我们还创建一个目录,方便演示目录
mkdir Lib
接着我们在目录下面创建几个文件
cd Lib
new-item 1.so
我们也往里面写一些信息,避免零字节。
把指定目录加入追踪清单
git lfs track $targetDirName
比如,针对Lib这个子目录
如果需要包括Lib目录自身,那么采用
git lfs track Lib/**
如果不需要包括Lib目录自身,那么采用
git lfs track Lib/*
把指定格式的文件加入清单
git lfs track $targetFileExt
比如我想把dll
格式的都加入清单,那么采用
git lfs track *.dll
查看被追踪的清单
当我们把文件加入追踪清单之后,我们留意到在项目内新增了一个文件,它叫.gitattributes
,用来记录被加入追踪清单的规则。
查看被追踪的文件
想要查看哪些文件被追踪,也可以使用命令来列举
git lfs ls-files
按清单推送到代码库
我们需要找一个支持Git LFS的远程代码库,这里先以Github作为案例。
git push origin master
参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。