最近项目组很多新项目都使用到了 Git LFS, 解决了 Git 大文件提交容易导致仓库尺寸爆炸的问题.
Git LFS: 简单来说就是用来存储源码仓大文件的, 会把大文件放在"别的地方"存储, 保持源码仓的 Size.
有必要学习一下基础用法.
安装
这个东西可以看成是 Git 的一个扩展插件, 一般安装比较新的 Git 之后, 都自带这个插件.
可以使用命令查看 Lfs 版本:
git lfs version
使用
- 启用 
LFS功能 
git lfs install
这个命令单个用户只需要执行一次, 后续提交都会自动使用
LFS功能.
- 将文件向 
LFS提交 
git lfs track path/file.bin
这个操作会修改
.gitattributes文件, 这个文件记录了LFS管理文件的信息.
文件路径也可以使用通配符*来匹配多个文件.
- 提交文件
 
git add .gitattributes path/file.bin
git commit -m "add file.bin"
需要同时提交
.gitattributes和 二进制文件, 否则LFS无法识别.
- 推送到远程仓库
 
git push origin master
- 其他参考
使用命令git lfs, 想知道的都有写: 
git lfs help
也可以去官网瞅瞅: https://git-lfs.com/
证书问题
LFS 内部使用的 HTTP 协议操作大文件, 上传下载什么的会访问源码仓的 API. 一些仓库证书是自签的, 会报证书错误.
Remote "origin" does not support the LFS locking API. Consider disabling it with:
  $ git config lfs.https://xxxx/org/project.git/info/lfs.locksverify false
Uploading LFS objects:   0% (0/1), 0 B | 0 B/s, done
batch response: Post https://xxxx/org/project.git/info/lfs/objects/batch: x509: certificate signed by unknown authority
error: failed to push some refs to 'ssh://git@xxxx/org/project.git.git'
可以通过配置不验证证书来绕过:
# 单个项目配置
git config http.sslVerify false
# 全局配置
git config --global http.sslVerify false