Skip to main content

关于拉取请求

了解 GitHub 上的拉取请求和草稿拉取请求。 拉取请求将更改传达给存储库中的分支。 一旦打开拉取请求,就可以与协作者一起审查更改并添加后续提交。

Platform navigation

关于拉取请求

拉取请求是将更改集从一个分支合并到另一个分支的建议。 在拉取请求中,协作者可以首先检查和讨论建议的更改集,然后再将更改集成到主代码库。 拉取请求会显示源分支中内容与目标分支中内容之间的差异。

Note

在处理拉取请求时,请记住以下事项:

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

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

在初始化拉取请求后,您会看到一个审查页面,其中简要概述您的分支(整个分支)与仓库基本分支之间的更改。 可以添加建议更改的摘要,审查提交所做的更改,添加标签、里程碑和受理人,以及 @mention 个人参与者或团队。 请参阅“创建拉取请求”。

在创建拉取请求后,您可以从主题分支推送提交,以将它们添加到现有的拉取请求。 这些提交将以时间顺序显示在您的拉取请求中,在 "Files changed"(更改的文件)选项卡中可以看到更改。

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

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

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

如果需要对仓库进行状态检查,必须通过所需的状态检查后,您才可将分支合并到受保护分支。 有关详细信息,请参阅“关于受保护分支”。

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

Tip

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

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

草稿拉取请求

对于组织和旧版每存储库计费计划,具有 GitHub Free 的公共存储库中提供了草稿拉取请求。 草稿拉取请求还可以在具有 GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和专用存储库中使用。 有关详细信息,请参阅“GitHub 的计划”。

在创建拉取请求时,可以选择创建可直接审查的拉取请求,或草稿拉取请求。 草稿拉取请求不能合并,也不会自动向代码所有者申请审查草稿拉取请求。 请参阅“创建拉取请求”和“从复刻创建拉取请求”。

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

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

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

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

延伸阅读