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/