跳到主要内容

关于拉取请求

了解 GitHub 上的拉取请求和草稿拉取请求。拉取请求用于沟通对仓库中分支的更改。打开拉取请求后,您可以与协作者一起审查更改并添加后续提交。

平台导航

关于拉取请求

拉取请求是将一组更改从一个分支合并到另一个分支的建议。在拉取请求中,协作者可以在将更改集成到主代码库之前审查和讨论建议的更改集。拉取请求显示源分支和目标分支内容之间的差异(差异)。

注意

使用拉取请求时,请记住以下几点:

  • 如果您正在使用共享仓库模型,我们建议您为拉取请求使用主题分支。虽然您可以从任何分支或提交发送拉取请求,但使用主题分支,如果需要更新建议的更改,您可以推送后续提交。
  • 强制推送提交到拉取请求时要非常小心。强制推送会更改仓库历史记录,并可能损坏您的拉取请求。如果其他协作者在强制推送之前分支项目,则强制推送可能会覆盖协作者在其工作基础上创建的提交。

您可以在 GitHub.com、使用 GitHub Desktop、在 GitHub Codespaces、GitHub 移动端以及使用 GitHub CLI 时创建拉取请求。

初始化拉取请求后,您将看到一个审查页面,该页面显示您的分支(比较分支)和仓库基分支之间更改的高级概述。您可以添加建议更改的摘要、审查提交所做的更改、添加标签、里程碑和受让人,以及@提及各个贡献者或团队。请参阅“创建拉取请求”。

创建拉取请求后,您可以从主题分支推送提交以将其添加到现有拉取请求中。这些提交将按时间顺序显示在您的拉取请求中,并且更改将在“已更改的文件”选项卡中可见。

其他贡献者可以审查您建议的更改,添加审查评论,参与拉取请求讨论,甚至可以向拉取请求添加提交。默认情况下,在公共仓库中,任何用户都可以提交审查,以批准或请求更改拉取请求。组织所有者和仓库管理员可以限制谁能够提供批准的拉取请求审查或请求更改。有关详细信息,请参阅“管理组织中的拉取请求审查”和“管理仓库中的拉取请求审查”。

您可以在“讨论”选项卡上查看有关分支当前部署状态和过去部署活动的信息。请参阅“查看仓库的部署活动”。

在您对建议的更改感到满意后,您可以合并拉取请求。如果您在一个共享的代码库模型中工作,则您可以创建一个拉取请求,然后由您或其他人将您的更改从您的功能分支合并到您在拉取请求中指定的基分支。请参阅“合并拉取请求”。

如果代码库需要状态检查,则必须在您将分支合并到受保护分支之前通过所需的状态检查。更多信息,请参阅“关于受保护分支”。

您可以将拉取请求链接到问题,以显示修复正在进行中,并在有人合并拉取请求时自动关闭该问题。更多信息,请参阅“将拉取请求链接到问题”。

提示

  • 要在拉取请求中折叠和展开所有过时的审查评论之间切换,请按住OptionAltAlt并单击显示过时的隐藏过时的。更多快捷键,请参阅“键盘快捷键”。
  • 合并拉取请求时,您可以压缩提交,以获得更精简的更改视图。请参阅“关于拉取请求合并”。

您可以访问您的仪表板,快速找到您正在参与或订阅的最近更新的拉取请求的链接。请参阅“关于您的个人仪表板”。

草稿拉取请求

草稿拉取请求在使用 GitHub Free 的组织和旧的按代码库计费计划的公共代码库中可用。草稿拉取请求也适用于使用 GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有代码库。更多信息,请参阅“GitHub 的计划”。

创建拉取请求时,您可以选择创建一个准备审查的拉取请求或一个草稿拉取请求。草稿拉取请求无法合并,并且不会自动请求代码所有者审查草稿拉取请求。请参阅“创建拉取请求”和“从分支创建拉取请求”。

准备好获取拉取请求反馈后,您可以将草稿拉取请求标记为“准备审查”。将拉取请求标记为“准备审查”将请求任何代码所有者的审查。您可以随时将拉取请求转换为草稿。请参阅“更改拉取请求的阶段”。

比较和拉取请求页面上提交之间的差异

比较和拉取请求页面使用不同的方法来计算已更改文件的差异。

  • 比较页面显示 head ref 的顶端与 head 和 base ref 的当前共同祖先(即合并基准)之间的差异。
  • 拉取请求页面显示 head ref 的顶端与创建拉取请求时 head 和 base ref 的共同祖先之间的差异。因此,用于比较的合并基准可能不同。

进一步阅读