Git LFS 是 Github 開(kāi)發(fā)的一個(gè) Git 的擴(kuò)展稠曼,用于實(shí)現(xiàn) Git 對(duì)大文件的支持
使用目的
在游戲開(kāi)發(fā)過(guò)程中,設(shè)計(jì)資源占用了很大一部分空間. 像png,psd等文件是二進(jìn)制(blob)的,體積也很龐大.
但git的diff/patch等是基于文件行的.對(duì)于二進(jìn)制文件來(lái)說(shuō). git需要存儲(chǔ)每次commit的改動(dòng).
每次當(dāng)二進(jìn)制文件修改,發(fā)生變化的時(shí)候. 都會(huì)產(chǎn)生額外的提交量.導(dǎo)致clone和pull的數(shù)據(jù)量大增.在線(xiàn)倉(cāng)庫(kù)的體積也會(huì)迅速增長(zhǎng).
LFS(Large File Storage) 就是為了解決這一問(wèn)題而產(chǎn)生的工具.
它將你所標(biāo)記的大文件保存至另外的倉(cāng)庫(kù),而在主倉(cāng)庫(kù)僅保留其輕量級(jí)指針.
那么在你檢出版本時(shí),根據(jù)指針的變化情況下更新對(duì)應(yīng)的大文件.而不是在本地保存所有版本的大文件
安裝
注意:安裝 Git LFS 需要 Git 的版本不低于 1.8.5
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
Windows
- 下載安裝 windows installer
- 運(yùn)行 windows installer
- 在命令行執(zhí)行
git lfs install
使用
- 執(zhí)行
git lfs install
開(kāi)啟lfs功能 - 使用
git lfs track
命令進(jìn)行大文件追蹤 例如git lfs track "*.png"
追蹤所有后綴為png的文件 - 使用
git lfs track
查看現(xiàn)有的文件追蹤模式 - 提交代碼需要將
gitattributes
文件提交至倉(cāng)庫(kù). 它保存了文件的追蹤記錄 - 提交后運(yùn)行
git lfs ls-files
可以顯示當(dāng)前跟蹤的文件列表 - 將代碼 push 到遠(yuǎn)程倉(cāng)庫(kù)后,LFS 跟蹤的文件會(huì)以『Git LFS』的形式顯示:
- clone 時(shí) 使用'git clone' 或
git lfs clone
均可