Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验的访问权限

开始使用

拉取请求和讨论

Hub 拉取请求和讨论允许用户对存储库进行社区贡献。拉取请求和讨论对所有存储库类型的工作方式相同。

从高级别上讲,目标是构建其他 Git 托管(如 GitHub 的 PR 和 Issues)的简化版本。

  • 不涉及分支:贡献者直接推送到源存储库上的特殊 ref 分支。
  • 讨论和 PR 之间没有严格的区分:它们本质上是相同的,因此在相同的列表中显示。
  • 它们针对 ML(即模型/数据集/空间存储库)进行优化,而不是任意存储库。

请注意,拉取请求和讨论可以在 存储库设置 中启用或禁用。

列表

在任何存储库的社区选项卡中,您可以看到所有讨论和拉取请求。您也可以过滤以仅查看打开的请求。

查看

讨论页面允许您查看来自不同用户的评论。如果是拉取请求,您可以在“更改的文件”选项卡中查看所有更改。

编辑讨论/拉取请求标题

如果您打开了一个 PR 或讨论,是存储库的作者,或者对存储库具有写权限,您可以在单击铅笔按钮后编辑讨论标题。

固定讨论/拉取请求

如果您对存储库具有写权限,您可以固定讨论和拉取请求。固定讨论显示在所有讨论的顶部。

锁定讨论/拉取请求

如果您对存储库具有写权限,您可以锁定讨论或拉取请求。锁定讨论后,之前的评论仍然可见,用户将无法添加新评论。

评论编辑和审核

如果您写了评论或对存储库具有写权限,您可以在评论框右上角的上下文菜单中编辑评论内容。

评论编辑后,会在评论上方显示一个新链接。此链接显示编辑历史记录。

您也可以隐藏评论。隐藏评论是不可逆的,没有人能够再看到它的内容或编辑它。

另请阅读 审核,了解如何举报不当评论。

我可以在我的评论和讨论中使用 Markdown 和 LaTeX 吗?

是的!您可以使用 Markdown 为您的评论添加格式。此外,您可以使用 LaTeX 进行数学排版,您的公式将在使用 KaTeX 解析 Markdown 之前进行渲染。

对于 LaTeX 方程式,您必须使用以下定界符

  • $$ ... $$ 用于显示模式
  • \\(...\\) 用于内联模式(斜杠和括号之间没有空格)。

如何在本地管理拉取请求?

假设您的 PR 号码为 42。

git fetch origin refs/pr/42:pr/42
git checkout pr/42
# Do your changes
git add .
git commit -m "Add your change"
git push origin pr/42:refs/pr/42

草稿模式

草稿模式是在“高级模式”下从头开始创建新的 Pull Request 时默认的状态。 这种状态让其他贡献者知道您的 Pull Request 正在进行中,不能合并。 当您的分支准备就绪时,只需点击“发布”按钮即可将 Pull Request 的状态更改为“打开”。 请注意,一旦发布,您将无法再返回草稿模式。

Pull Request 的高级用法

Git 仓库中更改存储在哪里?

我们的 Pull Request 不使用 fork 和分支,而是使用直接存储在源代码仓库中的自定义“分支”,称为 refs

Git References 是 Git 的内部机制,它已经存储了标签和分支。

使用自定义 refs(例如 refs/pr/42)而不是分支的优势在于,它们(默认情况下)不会被克隆仓库的人(包括仓库“所有者”)获取,但仍可以按需获取。

获取所有 Pull Request:面向 Git 大师🧙‍♀️

您可以调整本地 refspec 来获取所有 Pull Request

  1. 获取
git fetch origin refs/pr/*:refs/remotes/origin/pr/*
  1. 创建一个跟踪该 ref 的本地分支
git checkout pr/{PR_NUMBER}
# for example: git checkout pr/42
  1. 如果您进行了本地更改,要推送到 PR ref
git push origin pr/{PR_NUMBER}:refs/pr/{PR_NUMBER}
# for example: git push origin pr/42:refs/pr/42
< > 更新 到 GitHub