LFS 是 Large File Storage 的缩写,用了帮助 git 管理大的文件
原理:不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。对于git lfs来说,在使用`git lfs track`命令后,`git push`的时候,git lfs 会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
安装方法
注意:git lfs 要求 git >= 1.8.2
CentOS 安装方法
可以按照 github 上提供的安装方法,运行下列命令进行安装:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
sudo yum install git-lfs
git lfs install
在Centos上按照官方提供的步骤报错,大概意思是下载不到安装包。使用rpm包安装,从在官网下载安装包安装,安装方法如下:
在上述官网中找到Downloads,然后选择相应的系统安装包下载
- 对于Centos来说,下载rpm(可以通过`lsb_release -a`查看系统版本)
- 下载rpm包后使用`sudo rpm -ivh 包名.rpm`进行安装
- 运行`git lfs install`,如果显示Git LFS initialized说明安装成功
MacOS 安装
运行brew install git-lfs即可安装
Debian and Ubuntu 安装
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
使用方法
- 告诉lfs需要管理的大文件,比如:hadoop-2.7.3.tar.gz
# 运行命令
git lfs track hadoop-2.7.3.tar.gz
- 编辑管理文件`.gitattributes`添加入git仓库
# .gitattributes
*.gz filter=lfs diff=lfs merge=lfs -text
# 添加入git仓库
git add .gitattributes
- 将大文件添加入 git 仓库,然后和其它添加方式一样
git add hadoop-2.7.3.tar.gz
git commit -m "add hadoop-2.7.3.tar.gz file"
git push