2021-05-12 14:32:11
Git大檔案儲存將幫助Git處理大型二進位制檔案
GitHub宣布 ,作為 開源的Git擴充套件 ,Git大檔案儲存(Large File Storage,簡稱LFS)的目標是更好地把“大型二進位制檔案,比如音訊檔、資料集、影象和視訊”整合到Git的工作流中。
眾所周知,Git在儲存二進位制檔案時效率不高,因為:
Git預設會壓縮並儲存二進位制檔案的所有完整版本,如果二進位制檔案很多,這種做法顯然不是最優。
Git LFS處理大型二進位制檔案的方式是用“文字指標”替換它們。這些文字指標實際上是包含二進位制檔案資訊的文字檔案。文字指標儲存在Git中,而大檔案本身通過HTTPS託管在 Git LFS伺服器 上。
Git LFS向Git中新增了一條新命令 lfs
,支援以下引數:
- config: 顯示Git LFS的設定。
- init: 初始化Git LFS。
- logs: 顯示git-lfs中的錯誤。
- track: 向Git倉庫中新增一個大檔案;允許指定副檔名。
- untrack: 從Git LFS中移除一個檔案。
- push: 把當前監控的檔案推播到Git LFS伺服器。
- status: 顯示產生改動的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
相關文章