本文原创, 原文地址: http://www.flyml.net/2017/05/08/git-lfs-tutorial/
Why
LFS: Large File Storage, 即大文件存储。 当我们的项目之中存在比较大的文件的时候, 使用LFS对整个Git的维护是非常有帮助的。 具体网上很多描述,在此不罗嗦了。
比如我司的GitHub Enterprice版本就限制文件超过100MB就不能直接commit,强制使用LFS
由于我们这些搞机器学习的, 时不时要离线训练几个预测模型, 这些模型一不小心就爆表了。。。
因此, 不得不把LFS用起来
其实我也不想学那么多东西T_T
安装与使用
安装可以参考官方网址: https://help.github.com/enterprise/2.6/user/articles/installing-git-large-file-storage/
先以Windows的安装与使用为例:
- 下载安装包并直接安装
下载网页: https://git-lfs.github.com/ - 下载好了之后,在git-bash之中运行命令:
git lfs install
安装成功之后, 会显示
1Git LFS initialized.
- 使用LFS追踪某个文件:
1git lfs track "model.bin" # 支持类似 model.bin
命令运行之后,会在目录生成一个
.gitattributes
文件, 这个文件应该是指向LFS的一个指针。
注意: 一定需要把这个指针文件加到git之中:1git add .gitattributes - 上传提交就跟普通的文件操作一样:
123git add model.bingit commit -m "提交训练好的预测模型"git push origin master
这个时候在GitHub页面上面就可以直接看到这个文件。
- 在其他地方clone项目并下载这个文件
这个地方有个坑:git clone
之后, 只会下载这个文件的指针, 不会下载原始文件。
尝试命令:1git lfs fetch这个时候确实能看到文件正在下载, 但是下载完成之后会发现这个文件的大小只有133byte
经过一番google,发现下面的命令比较好使:
1 |
git lfs pull |
而且经过fetch
之后, pull
命令生成这个文件几乎是秒出!
补充: Linux 安装方式
- 进入GitHub Release界面下载压缩包。
https://github.com/git-lfs/git-lfs/releases/latest?utm_source=gitlfs_site&utm_medium=downloads_link&utm_campaign=gitlfs注意: 我是在windows下载好传到linux的,不知道如何直接在linux wget下载
- 解压直接运行install.sh
1./install
运行成功之后,git lfs
就可以使用啦

文章评论