跳至主要内容

关于拉取请求

拉取请求允许您告诉其他人您已将更改推送到 GitHub 存储库中的分支。打开拉取请求后,您可以在与合作者讨论和审查潜在更改,并在更改合并到基本分支之前添加后续提交。

平台导航

关于拉取请求

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

注意:使用拉取请求时,请牢记以下几点

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

您可以在 GitHub.com、GitHub Desktop、GitHub Codespaces、GitHub Mobile 和使用 GitHub CLI 时创建拉取请求。

在初始化拉取请求后,您将看到一个审查页面,其中显示了您的分支(比较分支)与仓库基础分支之间更改的概览。您可以添加对拟议更改的摘要,审查提交所做的更改,添加标签、里程碑和受让人,以及@提及个人贡献者或团队。有关更多信息,请参阅“创建拉取请求”。

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

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

您可以在“对话”选项卡中查看有关分支当前部署状态和过去部署活动的的信息。有关更多信息,请参阅“查看仓库的部署活动”。

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

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

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

提示

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

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

草稿拉取请求

草稿拉取请求在具有 GitHub Free for Organizations 和传统按仓库计费计划的公共仓库中可用,以及在具有 GitHub Team、GitHub Enterprise Server 和 GitHub Enterprise Cloud 的公共和私有仓库中可用。有关更多信息,请参阅“GitHub 的计划”。

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

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

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

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

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

进一步阅读