首頁 > 軟體

Git大檔案儲存將幫助Git處理大型二進位制檔案

2020-06-16 18:02:08

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 


IT145.com E-mail:sddin#qq.com