GitHub宣布 ,作為 開源的Git擴展 ,Git大文件存儲(Large File Storage,簡稱LFS)的目標是更好地把“大型二進制文件,比如音頻文件、數據集、圖像和視頻”集成到Git的工作流中。
眾所周知,Git在存儲二進制文件時效率不高,因為:
Git默認會壓縮並存儲二進制文件的所有完整版本,如果二進制文件很多,這種做法顯然不是最優。
Git LFS處理大型二進制文件的方式是用“文本指針”替換它們。這些文本指針實際上是包含二進制文件信息的文本文件。文本指針存儲在Git中,而大文件本身通過HTTPS托管在 Git LFS服務器 上。
Git LFS向Git中添加了一條新命令 lfs
,支持以下參數:
如果要向現有倉庫中添加一個大文件,你可以:
git lfs track "*.pdf" git add file.pdf git commit -m "Add design file" git push origin master
根據GitHub官方消息,目前Git LFS服務器API的實現只有兩種: 引用服務器實現 以及GitHub.com,後者 目前還不可用 。GitHub已經公布了免費的LFS計劃,最多允許“1GB免費文件存儲空間和每月1GB流量”。容量更大的套餐需要付費,但是具體費用還未公布。
在Git LFS出現之前,開發者就已經可以使用 git-annex 管理大型二進制文件。後者是一個Git擴展,原理和Git LFS類似,把文件內容存儲在.git/annex中,而把對應位置的符號鏈接存儲在Git倉庫中。
參考英文原文: Git Large File Storage Promises to Extend Git to Large Binary Files
GitHub 教程系列文章:
GitHub 使用教程圖文詳解 http://www.linuxidc.com/Linux/2014-09/106230.htm
Git 標簽管理詳解 http://www.linuxidc.com/Linux/2014-09/106231.htm
Git 分支管理詳解 http://www.linuxidc.com/Linux/2014-09/106232.htm
Git 遠程倉庫詳解 http://www.linuxidc.com/Linux/2014-09/106233.htm
Git 本地倉庫(Repository)詳解 http://www.linuxidc.com/Linux/2014-09/106234.htm
Git 服務器搭建與客戶端安裝 http://www.linuxidc.com/Linux/2014-05/101830.htm
Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm
分享實用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm
Git 的詳細介紹:請點這裡
Git 的下載地址:請點這裡