git lfs的使用
git lfs的使用
1.什么是git lfs
Git LFS(Large File Storage, 大文件存储)是可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小工具。通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能。
2.优点是什么
git每次保存diff,一些大文件发生变化时,整个仓库就会增加很大的体积,导致clone和pull的数据量大增。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
3.怎么安装
注意:git lfs 要求 git >= 1.8.2
Linux
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
Mac
安装HomeBrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git-lfs
git lfs install
4.怎么使用
- 查看现有的文件追踪模式:git lfs track
2.添加要管理的大文件的文件类型,比如gz文件
运行命令:git lfs track .gz
添加类型后,查看管理文件.gitattributes,可以发现.gitattributes中新增加一行:.gz filter=lfs diff=lfs merge=lfs -text
3.将管理文件.gitattributes提交至仓库. 它保存了文件的追踪记录
4.获取git lfs管理的所有文件列表:git lfs ls-files
5.添加大文件到git仓库,和其它添加方式一样
git add my.gz
git commit -m "add gz file"
git push
6.将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示:
7.clone 时 使用'git clone' 或 git lfs clone均可
8.查看Git LFS 的帮助:git lfs help
https://www.atlassian.com/git/tutorials/git-lfs
https://docs.gitlab.com/ee/topics/git/lfs/