還沒使用git之前邮府,二進(jìn)制文件和源代碼分成兩塊蝴韭,分別存放到不同的svn倉庫上(防止二進(jìn)制文件中有病毒感染服務(wù)器,所以做了這種隔離)洪囤。
現(xiàn)在公司已經(jīng)切換到git上進(jìn)行版本管理了徒坡,那么就可以使用git lfs來管理這些二進(jìn)制文件,這樣就可以讓源碼和二進(jìn)制文件和諧共存于一處瘤缩,從而不像以前那樣喇完,需要分別做兩次更新。
Git LFS的簡單理解
LFS其實(shí)是git的一個擴(kuò)展剥啤,并沒有改變git的工作方式锦溪,有點(diǎn)像耍了個小花招,把指定需要lfs管理的文件替換成了一個指針文件交給git進(jìn)行版本管理府怯;
在pull/push等這些操作中刻诊,lfs又通過lfs服務(wù)器把這些文件的真身給下載或上傳回來;
通過這樣的手段牺丙,使得本地倉庫的體積大大減小则涯,而不會出現(xiàn)隨著這些文件的版本增多而體積劇烈膨脹的情況;
個人覺得這種把存儲負(fù)擔(dān)轉(zhuǎn)移給了服務(wù)器的做法冲簿,是不是有違git去中心化的理念粟判,畢竟lfs這樣做其實(shí)算是強(qiáng)依賴于這個lfs服務(wù)器了,本地倉庫并不是一個完整的倉庫
安裝
Windows下常用的Git for Windows和Source Tree都已經(jīng)集成了lfs峦剔,不需要另外安裝了档礁,可以運(yùn)行命令git lfs
查看
首次使用
第一次使用前需要運(yùn)行下 git lfs install
,只要運(yùn)行一次吝沫,以后都不需要了
日常使用
需要用lfs管理的文件要添加到追蹤列表里呻澜,一般而言,把某個類型的文件統(tǒng)一用lfs管理會是個好注意惨险,例如我們把dll文件用lfs管理git lfs track '*.dll'
此時羹幸,倉庫的根目錄下會自動創(chuàng)建.gitattribute文件,里面就記錄了使用lfs的文件
后續(xù)添加新的類型可以用git lfs track
命令辫愉,也可以直接編輯.gitattribute文件
注意:.gitattribute文件需要添加到git倉庫中進(jìn)行版本管理
文件追蹤之后睹欲,后續(xù)的所有操作都是和git的普通操作一致了
輔助命令
git lfs ls-files
:查看當(dāng)前有哪些文件是使用lfs管理的