Hub 文档
拉取请求和讨论
并获得增强的文档体验
开始使用
拉取请求和讨论
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 来拉取所有拉取请求。
- 拉取
git fetch origin refs/pr/*:refs/remotes/origin/pr/*
- 创建一个跟踪引用的本地分支
git checkout pr/{PR_NUMBER}
# for example: git checkout pr/42
- 如果您进行了本地更改,则推送到 PR 引用
git push origin pr/{PR_NUMBER}:refs/pr/{PR_NUMBER}
# for example: git push origin pr/42:refs/pr/42