Hub 文件
下一步
並獲得增強的文件體驗
開始使用
後續步驟
以下章節重點介紹了您可能會發現有用的功能和附加資訊,以充分利用 Hugging Face Hub 上的 Git 儲存庫。
如何透過程式設計方式管理儲存庫
Hugging Face 支援透過 huggingface_hub
庫使用 Python 訪問儲存庫。我們探索過的操作,例如下載儲存庫和上傳檔案,都可以透過該庫以及其他有用的函式獲得!
如果您更喜歡直接使用 git,請閱讀以下章節。
瞭解更多關於 Git 的資訊
如果您想繼續學習 Git,可以訪問 這個 Git 教程。要了解更多關於 Git 的背景知識,您可以檢視 GitHub 的 Git 指南。
如何使用分支
為了有效地協同使用 Git 儲存庫,並在不釋出不成熟程式碼的情況下處理功能,您可以使用 **分支**。分支允許您將“正在進行的工作”程式碼與“生產就緒”程式碼分開,並且具有讓多個人在一個專案上工作而不會經常與彼此的貢獻發生衝突的額外好處。您可以使用分支將實驗隔離在自己的分支中,甚至可以 採用團隊範圍內的分支管理實踐。
要了解 Git 分支,您可以嘗試 Learn Git Branching 互動式教程。
使用標籤
Git 允許您對提交進行 *標記*,以便您可以輕鬆記錄專案中的里程碑。因此,您可以使用標籤標記 Hub 儲存庫中的提交!要了解如何使用標籤,您可以訪問 這篇 DevConnected 文章。
除了方便識別儲存庫歷史中的重要提交外,使用 Git 標籤還可以進行 A/B 測試、克隆特定標籤處的儲存庫等等!`huggingface_hub` 庫也支援使用標籤,例如從特定標籤的提交下載檔案。
如何複製或分叉儲存庫(包括 LFS 指標)
如果您想複製儲存庫,根據您是否要保留 Git 歷史記錄,有兩種選擇。
不帶 Git 歷史記錄的複製
在許多場景中,如果您想要特定程式碼庫的副本,您可能不關心之前的 Git 歷史記錄。在這種情況下,您可以使用方便的 Repo Duplicator 快速複製儲存庫!您必須建立一個使用者訪問令牌,您可以在 安全文件中閱讀更多相關資訊。
帶 Git 歷史記錄的複製(分叉)
保留提交歷史記錄的儲存庫副本稱為 *分叉*。您可以選擇分叉自己的儲存庫,但如果您想對其他人的專案進行修改,分叉也很常見。
請注意,您需要安裝 Git LFS 和 `huggingface_hub` CLI 才能遵循此過程。當您想要分叉或變基包含 LFS 檔案的儲存庫時,您不能使用您可能熟悉的常規 Git 方法,因為您需要小心不要破壞 LFS 指標。分叉可能需要時間,具體取決於您的頻寬,因為您必須在您的分叉中獲取並重新上傳所有 LFS 檔案。
例如,假設您有一個上游儲存庫 **upstream**,並且您剛剛在 Hub 上建立了自己的儲存庫,在本例中為 **myfork**。
在 https://huggingface.co 建立目標儲存庫(例如 **myfork**)
克隆您的分叉儲存庫
git clone git@hf.co:me/myfork
- 獲取非 LFS 檔案
cd myfork
git lfs install --skip-smudge --local # affects only this clone
git remote add upstream git@hf.co:friend/upstream
git fetch upstream
- 獲取大檔案。這可能需要一些時間,具體取決於您的下載頻寬
git lfs fetch --all upstream # this can take time depending on your download bandwidth
4.a. 如果要完全覆蓋分叉歷史記錄(應只有初始提交),請執行
git reset --hard upstream/main
4.b. 如果要變基而不是覆蓋,請執行以下命令並解決任何衝突
git rebase upstream/main
- 準備您的 LFS 檔案以進行推送
git lfs install --force --local # this reinstalls the LFS hooks
hf lfs-enable-largefiles . # needed if some files are bigger than 5GB
- 最後推送
git push --force origin main # this can take time depending on your upload bandwidth
現在您在 Hub 中有了自己的分叉或變基儲存庫!
< > 在 GitHub 上更新