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
库也支持使用标签,例如从特定的标记提交下载文件。
如何复制或 Fork 仓库(包括 LFS 指针)
如果您想复制仓库,根据您是否要保留 Git 历史记录,有两种选择。
不复制 Git 历史记录
在许多情况下,如果您想要特定代码库的自己的副本,您可能不关心之前的 Git 历史记录。在这种情况下,您可以使用方便的 Repo Duplicator 快速复制仓库!您需要创建一个用户访问令牌,您可以在安全文档中阅读更多相关信息。
复制 Git 历史记录 (Fork)
保留提交历史记录的仓库副本称为 fork。您可以选择 fork 您自己的仓库之一,但如果您想修改其他人的项目,fork 其他人的项目也很常见。
请注意,您需要安装 Git LFS 和 huggingface_hub
CLI才能按照此过程操作。当您要 fork 或 rebase 包含 LFS 文件的仓库时,您不能使用您可能熟悉的常用 Git 方法,因为您需要小心不要破坏 LFS 指针。Forking 可能需要一些时间,具体取决于您的带宽,因为您必须获取并重新上传 fork 中的所有 LFS 文件。
例如,假设您有一个上游仓库 upstream,并且您刚刚在 Hub 上创建了自己的仓库,在本例中为 myfork。
在 https://huggingface.co 中创建一个目标仓库(例如 myfork)
克隆您的 fork 仓库
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. 如果您想完全覆盖 fork 历史记录(应该只有一个初始提交),请运行
git reset --hard upstream/main
4.b. 如果您想 rebase 而不是覆盖,请运行以下命令并解决任何冲突
git rebase upstream/main
- 准备您的 LFS 文件以进行推送
git lfs install --force --local # this reinstalls the LFS hooks
huggingface-cli 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 中拥有了自己的 fork 或 rebased 仓库!
< > 更新 在 GitHub 上