国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

先說結(jié)論,git使用了Delta增量壓縮算法,git-lfs實(shí)測沒有進(jìn)行任何壓縮,這個(gè)結(jié)論讓我很震驚。

測試過程如下:

測試git倉庫自身的壓縮

準(zhǔn)備一個(gè)包含許多雜項(xiàng)文件的文件夾,大概幾百M(fèi),要保證有一個(gè)txt文本文件,做修改用,我們就叫這個(gè)文件夾為[數(shù)據(jù)包]。

將[數(shù)據(jù)包]壓縮為TestFile.zip,我這里壓縮結(jié)果大小為115M,然后放進(jìn)本地倉庫里。

步驟1、將TestFile.zip進(jìn)行add、commit然后push到遠(yuǎn)程倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

步驟2、對(duì)[數(shù)據(jù)包]中的一個(gè)txt文件稍做修改,依舊是壓縮為TestFile.zip,然后替換掉本地git倉庫的同名文件,從而模擬修改,再次執(zhí)行步驟1。

將步驟1、2這一過程循環(huán)執(zhí)行3遍,這樣的話,就意味著有三個(gè)115M大小的文件被push到遠(yuǎn)程倉庫中,我們來驗(yàn)證一下遠(yuǎn)程中央倉庫大?。?/p>

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

如上所示,遠(yuǎn)程倉庫的大小確實(shí)是3*115=345M,也就是說,無論你連續(xù)幾次提交之間的差異有多小,在提交并推送時(shí),遠(yuǎn)程倉庫并不會(huì)[立即]進(jìn)行Delta壓縮。

我們?cè)倏匆幌略蹅兊谋镜貍}庫大小:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

本地倉庫顯示459M,實(shí)際也是合理的,因?yàn)楸镜貍}庫是[工作空間]+[倉庫]:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

好了,下面就是見證git的壓縮技術(shù)的時(shí)候了,我們先在遠(yuǎn)程中央倉庫執(zhí)行壓縮命令git gc:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

壓縮完之后,我們?cè)倏匆幌逻h(yuǎn)程倉庫的空間大小:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

遠(yuǎn)程倉庫的空間變成了115M,和只傳了一個(gè)TestFile.zip占用的空間一樣,但確實(shí)是包含了三次commit的全部歷史版本數(shù)據(jù),對(duì)每次的TestFile.zip文件的修改都能追溯。這說明了如果直接用git管理大文件,在歷次對(duì)大文件的修改不大的前提下,git的Delta壓縮會(huì)極大的節(jié)約空間,因?yàn)橹槐A魵v次文件修改之間的區(qū)別。

我們?cè)賹?duì)本地倉庫進(jìn)行下git gc看看:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

結(jié)果和遠(yuǎn)程倉庫一樣,除了工作空間不受影響以外,倉庫空間被極大的壓縮,但同樣在小體積的同時(shí)保留了所有對(duì)于TestFile.zip文件的歷次修改。

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

好了,以上就是git自身對(duì)于倉庫文件的壓縮,下面,咱們?cè)倏磄it-lfs,我原本以為git-lfs作為專為管理大文件而生的git擴(kuò)展,自然有對(duì)空間管理這方面的牛b之處,沒想到一番測試下來大跌眼鏡。

首先分別給遠(yuǎn)程中央倉庫與本地倉庫進(jìn)行l(wèi)fs的初始化:

命令:git lfs install

遠(yuǎn)程中央倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

本地倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

然后再從本地倉庫執(zhí)行以下命令git lfs track "*.mp4",讓git-lfs負(fù)責(zé)管理.mp4格式的文件:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

接下來將上面命令所生成的git-lfs配置文件.gitattributes推送到遠(yuǎn)程倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

上面都妥當(dāng)之后,就該咱們的老朋友TestFile.zip登場了,他將繼續(xù)作為測試git-lfs大文件夾存儲(chǔ)壓縮方面的關(guān)鍵人。

TestFile.zip:唉?不對(duì)啊,你上面不是配置了只讓git-lfs管理mp4文件嗎?怎么還是我?

作者:你改下后綴名不就是個(gè)mp4了嘛!

TestFile.mp4:哦~,也是哦,真有你的……

好了,那就把[數(shù)據(jù)包]中的txt文件內(nèi)容稍作修改,依舊壓縮為TestFile.zip,然后改后綴名為TestFile.mp4,復(fù)制到本地倉庫中:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

步驟1、將TestFile.mp4進(jìn)行add、commit然后push到遠(yuǎn)程倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

步驟2、對(duì)[數(shù)據(jù)包]中的一個(gè)txt文件稍做修改,依舊是壓縮為TestFile.zip,然后依舊是改后綴名為TestFile.mp4,然后替換掉本地git倉庫的同名文件,從而模擬修改,再次執(zhí)行步驟1。

?將步驟1、2這一過程循環(huán)執(zhí)行3遍,這樣的話,就意味著有三個(gè)115M大小的文件被push到遠(yuǎn)程倉庫中,我們來驗(yàn)證一下遠(yuǎn)程中央倉庫大小:

?關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

我們發(fā)現(xiàn)遠(yuǎn)程倉庫的大小還是115m,那是因?yàn)檫h(yuǎn)程倉庫上的git倉庫與存儲(chǔ)大文件的lfs倉庫路徑是不同的,在部署gitea托管平臺(tái)的時(shí)候會(huì)設(shè)置lfs的路徑,所以我們到lfs路徑下去看看:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

然后我們看一下本地倉庫,之前的三個(gè)TestFile.zip文件還是存放在objects文件夾下,還是占用114m,而lfs管理的mp4文件是存放到了新增加的lfs文件夾下了,三個(gè)mp4文件,3*115=345m:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

好了,我們現(xiàn)在照貓畫虎,依舊是分別在遠(yuǎn)程倉庫與本地倉庫執(zhí)行g(shù)it gc命令進(jìn)行倉庫壓縮,看看會(huì)發(fā)生什么:

遠(yuǎn)程倉庫:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

本地倉庫:

同樣是沒有任何變化:

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究,git

不是,合著你git lfs是一點(diǎn)壓縮也不干?。磕呐氯齻€(gè)文件就只有一個(gè)字節(jié)的區(qū)別,你也是存三份?

git lfs:是啊,那我不就省下了壓縮與解壓縮的時(shí)間,不就更快了嘛!

我:我特么……

結(jié)論

就跟上面的實(shí)驗(yàn)一樣,如果你的大文件會(huì)經(jīng)常性的修改,你還是別用git lfs了,哪怕你一次只做一個(gè)字節(jié)的修改,git lfs也會(huì)完整的給你存一份,壓縮空間?只存增量?不存在的。你要是經(jīng)常改動(dòng)某些大文件,git lfs倉庫所在的服務(wù)器容量分分鐘給你擠爆了。當(dāng)然,你要說你服務(wù)器容量管夠,當(dāng)我沒說。

那么哪些文件適合放進(jìn)git lfs,我覺得要同時(shí)滿足這兩點(diǎn):

1、很大

2、永遠(yuǎn)不會(huì)修改

如果不能同時(shí)滿足這兩點(diǎn),勸你還是老老實(shí)實(shí)用git吧,或者用svn。

另外可能有些對(duì)git lfs有所了解的朋友會(huì)說:唉,不對(duì)啊,我記得git lfs有一個(gè)命令[git lfs prune]可以壓縮空間啊。

那我只能遺憾的告訴你,這條語句不會(huì)對(duì)遠(yuǎn)程中央倉庫產(chǎn)生半點(diǎn)影響,它只是暫時(shí)的將你本地用不到的lfs緩存文件給刪除掉,中央服務(wù)器中依然是存儲(chǔ)著過去的commit對(duì)于lfs緩存文件歷史版本的引用。也就是說你本地刪除掉的東西,隨時(shí)都能從中央倉庫down回來。

再次追加

我這兩天又在外網(wǎng)上查閱了不少關(guān)于git-lfs的相關(guān)資料,最后得出結(jié)論:

不要用git-lfs

不要用git-lfs

不要用git-lfs

實(shí)際上git-lfs的唯一好處就是可以讓使用人員在clone倉庫時(shí)不用下載所有文件,僅此而已,但隨著這兩年git的更新,也可以實(shí)現(xiàn)clone時(shí)不下載所有內(nèi)容了,所以git-lfs的唯一優(yōu)勢也基本沒有了。

在stack上上有關(guān)于這點(diǎn)的詳細(xì)討論,有興趣的可以去看看:

git lfs - How does git LFS track and store binary data more efficiently than git? - Stack Overflow

?git lfs - Do I need Git LFS for local repos? - Stack Overflow文章來源地址http://www.zghlxwxcb.cn/news/detail-799415.html

到了這里,關(guān)于關(guān)于git與git-lfs對(duì)文件壓縮存儲(chǔ)方面的研究的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何用Git-LFS上傳與下載大文件資源

    如何用Git-LFS上傳與下載大文件資源

    1.下載Git-LFS 2.安裝到git目錄下(根據(jù)你自己的git目錄選擇,若未安裝git,先安裝git) 2.1注冊(cè)github完成訪問網(wǎng)址,點(diǎn)擊頭像 點(diǎn)擊個(gè)人簡介即可進(jìn)入進(jìn)入個(gè)人主頁? 個(gè)人主頁會(huì)顯示倉庫,點(diǎn)擊右上角頭像 2.2點(diǎn)擊Your repositories 2.3點(diǎn)擊NEW 2.4填寫項(xiàng)目名稱,描述,并添加README 點(diǎn)擊創(chuàng)

    2024年04月22日
    瀏覽(22)
  • 如何下載github上用git-lfs工具下載的大文件

    要下載 GitHub 上使用 Git LFS 工具存儲(chǔ)的大文件,您可以進(jìn)行以下步驟: 安裝 Git LFS:如果您的系統(tǒng)上沒有安裝 Git LFS,請(qǐng)先安裝它??梢酝ㄟ^終端或命令行進(jìn)行安裝。 克隆存儲(chǔ)庫:使用以下命令克隆項(xiàng)目存儲(chǔ)庫到本地: 下載大文件:進(jìn)入存儲(chǔ)庫目錄,并使用以下命令下載大文

    2024年02月12日
    瀏覽(50)
  • huggingface學(xué)習(xí) | 云服務(wù)器使用git-lfs下載huggingface上的模型文件

    huggingface學(xué)習(xí) | 云服務(wù)器使用git-lfs下載huggingface上的模型文件

    huggingface官網(wǎng)鏈接:https://huggingface.co/ 以stable-diffusion-inpant為例:模型鏈接為stable-diffusion-inpant 點(diǎn)擊clone repository,可以發(fā)現(xiàn)提供了兩種下載方式,方式一為HTTPS,代碼如下,然而國內(nèi)使用代理訪問的時(shí)候采用這種方式會(huì)報(bào)錯(cuò):Failed to connect to huggingface.co port 443 after 127293 ms: Cou

    2024年01月19日
    瀏覽(28)
  • 安裝git-lfs時(shí)出現(xiàn)Unable to locate package git-lfs的解決方案

    安裝git-lfs時(shí)出現(xiàn)Unable to locate package git-lfs的解決方案

    ??大家好,我是愛編程的喵喵。雙985碩士畢業(yè),現(xiàn)擔(dān)任全棧工程師一職,熱衷于將數(shù)據(jù)思維應(yīng)用到工作與生活中。從事機(jī)器學(xué)習(xí)以及相關(guān)的前后端開發(fā)工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現(xiàn)為CSDN博客專家、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。喜歡通過博客創(chuàng)作

    2024年02月05日
    瀏覽(337)
  • Git LFS【部署 01】Linux環(huán)境安裝git-lfs及測試

    Git LFS【部署 01】Linux環(huán)境安裝git-lfs及測試

    Git LFS(Large File Storage)是一個(gè)用于Git版本控制系統(tǒng)的擴(kuò)展,它專門用來管理大型文件,如圖像、音頻和視頻文件。 安裝包下載頁面:https://github.com/git-lfs/git-lfs/releases 根據(jù)系統(tǒng)信息下載對(duì)應(yīng)的安裝包: 本次下載的為: git-lfs-linux-amd64-v3.4.1.tar.gz 下載一個(gè)大模型文件: 復(fù)制的

    2024年03月18日
    瀏覽(32)
  • git-lfs安裝及clone常見問題

    git-lfs安裝及clone常見問題

    1.??安裝git for windows-3.20版本,報(bào)錯(cuò)Could not find git; can not register Git LFS。 錯(cuò)誤原因:可能這個(gè)版本有問題。參考:Could not find Git; can not register Git LFS. · Discussion #5031 · git-lfs/git-lfs · GitHub 解決方式:安裝Git for Windows 2.36.1 2.?報(bào)錯(cuò)fatal: unable to access ‘https://github.com/.......‘: Op

    2023年04月08日
    瀏覽(31)
  • 有Root與無Root安裝git-lfs

    先查看arm還是AMD 例如當(dāng)前使用Rocky Linux 8.8版本的內(nèi)核。因此,應(yīng)該下載適用于Rocky Linux 8.x的Git LFS安裝包。 您可以按照以下步驟在Rocky Linux上安裝Git LFS: 打開終端或命令提示符窗口。 使用以下命令下載適用于Rocky Linux 8.x的Git LFS安裝包: 下載安裝包后,使用以下命令安裝Gi

    2024年02月16日
    瀏覽(22)
  • centOs安裝git-lfs并下載huggingface模型

    hf模型都是用git-lfs托管的,可以直接git下載的,天才第一步: 1、安裝git-lfs 2、直接git clone 3、測試模型opt-1.3b

    2024年02月12日
    瀏覽(22)
  • 無root權(quán)限安裝git-lfs(linux版)

    首先給大家看一下官方鏈接:安裝 Git Large File Storage - GitHub 文檔 git-lfs/INSTALLING.md at main · git-lfs/git-lfs (github.com) 直接用這個(gè)命令好啦~繞了一大圈 以下是手動(dòng)安裝 接下來是我的步驟: 首先在本地點(diǎn)擊此鏈接下載:https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-

    2024年01月20日
    瀏覽(25)
  • linux下安裝git-lfs的兩種方法

    一、方法一(推薦) 首先安裝git-lfs ubuntu版:? centeros版: 然后驗(yàn)證安裝成功 若顯示: 則安裝成功。 二、方法二 從git官網(wǎng)上下載安裝包后,手動(dòng)解壓后安裝。 詳細(xì)可參考: 安裝 Git Large File Storage - GitHub 文檔

    2024年02月07日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包