日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用DVC管理大文件变更历史(基于git)

發(fā)布時間:2025/5/22 编程问答 66 如意码农
生活随笔 收集整理的這篇文章主要介紹了 使用DVC管理大文件变更历史(基于git) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DVC(Data Version Control) 是一個專門用于管理數(shù)據(jù)和二進制文件版本控制 的工具,它特別適合那些需要處理大量非文本文件(如圖像、視頻、模型、數(shù)據(jù)集等)的項目。

一般地,如果項目中有大文件或者二進制文件,我們會用LFS。DVC 和 Git LFS 都是用于處理大文件和二進制文件的工具,但它們的設(shè)計目標、使用場景和功能有顯著差異 。

Git LFS 是 Git 的一個擴展,對 Git 用戶來說上手更容易。

對于幾十 MB 到幾百 MB 的文件,LFS 表現(xiàn)良好。如果文件太大(比如 GB 級別),DVC 通常更高效。

但不像 Git LFS 那樣僅限于 GitHub 或 GitLab,DVC 更加開放和靈活??梢灾苯訉?S3、GCS、Azure、SSH 等,非常適合云端開發(fā)和協(xié)作。

通常LFS就足夠了。如果需要追蹤數(shù)據(jù)與腳本的關(guān)系、想把數(shù)據(jù)放在云上、更精細的版本控制可以考慮切換到 DVC。

安裝

通過命令 brew install dvc安裝。

有些地方說要用pip3 install dvc,我試了試不行。

然后用dvc --version驗證一下是否可用了。

例子

創(chuàng)建項目目錄并初始化:

mkdir my-dvc-project
cd my-dvc-project
git init
dvc init

會看到 .dvc 目錄和 .gitignore 文件被創(chuàng)建了。

.dvc目錄和.git目錄一樣,會記錄每次提交的快照等信息,.gitignore文件是必須要有的,因為DVC會把自己跟蹤的文件加入git的忽略列表。

接下來準備一個數(shù)據(jù)文件:

echo "name,age" > data.csv
echo "Alice,30" >> data.csv
echo "Bob,25" >> data.csv
echo "Charlie,35" >> data.csv

dvc add data.csv來跟蹤到DVC,這樣會生成一個 data.csv.dvc 文件,記錄文件的哈希值,而不是實際文件內(nèi)容:

把這個文件提交到git:

git add data.csv.dvc .gitignore
git commit -m "Add data file with DVC"

注意:data.csv 不會被提交到 Git,只會在本地緩存或遠程存儲中保存。

如果要更新文件的內(nèi)容,使用dvc pull。比如git切換了分支或checkout,就需要更新DVC跟蹤的內(nèi)容:

每次提交變更,.dvc都會記錄完整的文件快照,所以變更了幾次,文件還是挺占地方的。這時候就需要放到云上的,也方便合作者下拉文件。例如 AWS S3:

dvc remote add -d myremote s3://mybucket/myproject
dvc push

合作者設(shè)置好remote就可以pull下來了。

總結(jié)

以上是生活随笔為你收集整理的使用DVC管理大文件变更历史(基于git)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。