Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

拉取请求和讨论

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

从高层次来看,目的是构建一个更简单版本的其他 git 托管服务(如 GitHub)的 PR 和 Issues

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

请注意,可以从仓库设置启用或禁用拉取请求和讨论

列表

通过访问任何仓库中的社区选项卡,您可以查看所有讨论和拉取请求。您还可以过滤仅查看处于打开状态的讨论和拉取请求。

查看

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

编辑讨论 / 拉取请求标题

如果您打开了一个 PR 或讨论,是仓库的作者,或者拥有对其的写入权限,则可以通过单击铅笔按钮来编辑讨论标题。

置顶讨论 / 拉取请求

如果您具有仓库的写入权限,则可以置顶讨论和拉取请求。置顶的讨论会显示在所有讨论的顶部。

锁定讨论 / 拉取请求

如果您具有仓库的写入权限,则可以锁定讨论或拉取请求。一旦讨论被锁定,之前的评论仍然可见,但用户将无法添加新评论。

评论编辑和审核

如果您撰写了评论或具有仓库的写入权限,则可以从评论框右上角的上下文菜单中编辑评论的内容。

评论编辑完成后,评论上方将出现一个新链接。此链接显示编辑历史记录。

您还可以隐藏评论。隐藏评论是不可逆的,任何人都将无法看到其内容,也无法再对其进行编辑。

另请阅读审核,了解如何举报辱骂性评论。

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

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

对于 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

草稿模式

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

拉取请求高级用法

更改存储在 git 仓库的什么位置?

我们的拉取请求不使用 fork 和分支,而是使用直接存储在源仓库上的自定义“分支”,称为 refs

Git 引用是 git 的内部机制,已经存储了标签和分支。

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

获取所有拉取请求:献给 git 魔术师 🧙‍♀️

您可以调整本地 refspec 以获取所有拉取请求

  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 上的更新