Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

拉取请求和讨论

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

从高层次来看,目标是构建一个比其他 Git 主机(如 GitHub)更简单的拉取请求和议题版本。

  • 不涉及分支:贡献者直接将内容推送到源仓库上的一个特殊 `ref` 分支。
  • 讨论和拉取请求之间没有严格区分:它们本质上是相同的,因此显示在相同的列表中。
  • 它们是为机器学习(即模型/数据集/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 仓库的何处?

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

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

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

拉取所有拉取请求:面向 Git 大师 🧙‍♀️

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

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