日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入了解GitLFS:高效管理大型文件的利器

今天在使用CodeUp上傳代碼時(shí),我為項(xiàng)目添加了一個(gè)大小超過300MB的文件。在進(jìn)行push操作時(shí),系統(tǒng)提示我“推送失敗,以下文件大小超過單文件200MB的系統(tǒng)限額,大文件請(qǐng)使用Git-LFS管理”。于是我開始了解Git LFS。對(duì)于需要處理大型二進(jìn)制文件的項(xiàng)目而言,Git的性能可能成為一個(gè)瓶頸。為了解決這個(gè)問題,Git引入了Git LFS(Large File Storage)——專門用于管理大型文件的擴(kuò)展。在本文中,我們將深入探討Git LFS的原理、使用方法以及它為項(xiàng)目帶來的優(yōu)勢(shì)。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為建筑動(dòng)畫等企業(yè)提供專業(yè)服務(wù)。

Git LFS是什么?

Git LFS官網(wǎng)地址:https://git-lfs.com/

Git 是業(yè)界流行的分布式版本控制工具,本地倉庫與遠(yuǎn)端倉庫同樣保存了全量的文件和變更歷史,這樣讓代碼協(xié)作變得簡單和高效。但也正因?yàn)槿绱耍珿it針對(duì)大型文件(例如圖片、視頻或其他二進(jìn)制文件)的版本控制,也會(huì)存在一些問題,主要有兩點(diǎn):

  • 效率變慢:不管實(shí)際上用戶是否使用到這些大文件的歷史,都需要把每一個(gè)文件的每一個(gè)版本下載到本地倉庫。毫無疑問,下載耗時(shí)的增加給用戶帶來了更多的等待時(shí)間。
  • 空間變大:一個(gè)Git倉庫存放的大型的文件越多,加之伴隨著其關(guān)聯(lián)提交不斷增多,Git倉庫會(huì)以非常快的速率膨脹,占用更多的磁盤空間。

Git LFS是Git的一個(gè)擴(kuò)展,旨在更有效地處理大型文件。它通過將大文件存儲(chǔ)在單獨(dú)的位置,而在Git倉庫中只保留引用和元數(shù)據(jù),來減小倉庫的體積。這使得Git倉庫能夠更快速地克隆、推送和拉取,同時(shí)有效地處理大型媒體文件、二進(jìn)制文件等。

安裝Git LFS

  • Windows

目前l(fā)fs已經(jīng)集成在了Git for Windows 中,直接下載和使用最新版本的Windows Git即可。

  • Linux

直接下載二進(jìn)制包:https://github.com/git-lfs/git-lfs/releases

直接執(zhí)行解壓后的./install.sh腳本即可,這個(gè)腳本會(huì)做兩個(gè)事情:

在$PATH中安裝Git LFS的二進(jìn)制可執(zhí)行文件

執(zhí)行g(shù)it lfs install命令,讓當(dāng)前環(huán)境支持全局的LFS配置

初始化倉庫和跟蹤大文件

初始化倉庫

安裝成功后執(zhí)行以下命令,讓倉庫支持LFS

git lfs install

執(zhí)行顯示

Updated Git hooks.
Git LFS initialized.

配置跟蹤大文件

要使用Git LFS跟蹤大文件,你需要使用git lfs track命令。例如:

git lfs track "*.zip"

這告訴Git LFS來跟蹤所有.zip。你可以使用通配符或者指定特定的文件名。

執(zhí)行g(shù)it lfs track(不帶任何參數(shù)),可以查看當(dāng)前已跟蹤的Git LFS File 類型:

git lfs track

會(huì)展示當(dāng)前已跟蹤的Git LFS File 類型或文件

Listing tracked patterns
    *.bigfile (.gitattributes)
    *.exe (.gitattributes)
    *.zip (.gitattributes)
Listing excluded patterns

track 命令實(shí)際上是修改了倉庫中的.gitattributes文件,我們執(zhí)行以下命令將該文件add添加到暫存區(qū)。

git add .gitattributes

為了讓我們剛配置的跟蹤文件生效,需要將.gitattributes文件進(jìn)行提交:

git commit -m "添加.zip lfs配置"

撤銷LFS跟蹤

你可以取消繼續(xù)跟蹤某類文件,并將其從cache中清理:

git lfs untrack "*.zip"
git rm --cached "*.zip"

如果你想將這些文件添加回常規(guī) Git 跟蹤,可以執(zhí)行以下操作:

git lfs track "*.zip"

git commit -m "重新添加.zip lfs配置"

提交和推送

一旦你設(shè)置好了Git LFS,可以像平常一樣使用Git提交和推送文件。Git LFS將自動(dòng)處理大文件的上傳和下載。

git add .
git commit -m "Add large files"
git push origin master

拉取和檢出

在拉取更改或切換分支時(shí),Git LFS會(huì)自動(dòng)下載所需的大文件。

git pull origin master
git checkout other-branch

鎖定和解鎖文件

通過git lfs lock命令,你可以鎖定大文件,以防止其他人修改它們。解鎖文件允許其他人繼續(xù)修改文件。

git lfs lock some_large_file.jpg
git lfs unlock some_large_file.jpg

查看LFS信息

使用以下命令可以查看有關(guān)LFS的信息:

git lfs ls-files
git lfs status

這些命令提供了有關(guān)跟蹤文件的詳細(xì)信息,包括文件的大小和當(dāng)前狀態(tài)。

Git LFS工作原理

其工作原理如下:

  • Git 場(chǎng)景

圖片

普通場(chǎng)景不論是針對(duì)小型的代碼文本文件、還是比較大型的圖片文件,在相關(guān)變更從本地提交到遠(yuǎn)端倉庫時(shí),所有的相關(guān)文件資源都會(huì)完整的存儲(chǔ)在git server。就圖片中的例子而言,如果圖片文件越來越多,改動(dòng)頻次越來越大,倉庫的體積將極速膨脹起來。

  • Git LFS場(chǎng)景

圖片

如圖片所示,我們可以針對(duì)jpg圖片使用Git LFS的存儲(chǔ)能力,在push過程中將其上傳至大文件存儲(chǔ)服務(wù)。同時(shí),大文件對(duì)應(yīng)的指針文件將連同其他的普通的代碼文件推送到遠(yuǎn)端Git倉庫中。

  • Git LFS處理流程

圖片

優(yōu)勢(shì)和適用場(chǎng)景

Git LFS在以下方面為項(xiàng)目帶來了顯著的優(yōu)勢(shì):

  • 更快的操作速度

由于只需處理文件的引用,Git LFS使得Git倉庫的克隆、推送和拉取操作更加迅速。

  • 有效管理大型文件

對(duì)于大型媒體文件、二進(jìn)制文件等,Git LFS提供了一種高效的版本控制方式,減小了倉庫的體積。

  • 團(tuán)隊(duì)協(xié)作

鎖定文件的功能使得團(tuán)隊(duì)能夠更好地協(xié)同工作,防止沖突。

總結(jié)

總的來說,Git LFS是一個(gè)強(qiáng)大的工具,特別適用于那些需要處理大型文件的項(xiàng)目。通過更高效的文件管理,它使得團(tuán)隊(duì)能夠更順暢地進(jìn)行版本控制,并確保項(xiàng)目的整體性能得到優(yōu)化。

在項(xiàng)目中引入Git LFS可能需要一些額外的配置和學(xué)習(xí),但一旦熟悉了其基本用法,你將能夠更好地利用Git LFS的優(yōu)勢(shì),提高開發(fā)流程的效率。

注:本文部分圖片和文字引用的是阿里云的文檔;

原文鏈接https://help.aliyun.com/document_detail/206889.html?spm=a2c4g.206888.0.0.513353e40LNWBM


標(biāo)題名稱:深入了解GitLFS:高效管理大型文件的利器
轉(zhuǎn)載來于:http://m.5511xx.com/article/ccsscgo.html