在git管理過程中,有些文件占用空間比較大.
但git的diff/patch等是基於文件行的.對於二進制文件來說. git需要存儲每次commit的改動.
每次當二進制文件修改,發生變化的時候. 都會產生額外的提交量.導致clone和pull的數據量大增.在線倉庫的體積也會迅速增長.
但git的diff/patch等是基於文件行的.對於二進制文件來說. git需要存儲每次commit的改動.
每次當二進制文件修改,發生變化的時候. 都會產生額外的提交量.導致clone和pull的數據量大增.在線倉庫的體積也會迅速增長.
Git LFS(Large File Storage, 大文件存儲)是可以把音樂、圖片、視頻等指定的任意文件存在 Git 倉庫之外,而在 Git 倉庫中用一個占用空間 1KB 不到的文本指針來代替的小工具。通過把大文件存儲在 Git 倉庫之外,可以減小 Git 倉庫本身的體積,使克隆 Git 倉庫的速度加快,也使得 Git 不會因為倉庫中充滿大文件而損失性能。
git每次保存diff,一些大文件發生變化時,整個倉庫就會增加很大的體積,導致clone和pull的數據量大增。對於git lfs來說,在使用git lfs track命令后,git push的時候,git lfs會截取要管理的大文件,並將其傳至git lfs的服務器中,從而減小倉庫的體積
安裝
lfs目前是git擴展,沒有被加入git核心。所以就需要有個安裝的步驟。
注意:安裝git lfs需要 git版本>=1.8.2
Mac
- 安裝homebrew: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- brew install git-lfs
- git lfs install
Windows