跳至主要内容

关于 Pull Request

合并请求允许您向他人告知您已将更改推送到 GitHub 上存储库中的分支。一旦打开合并请求,您就可以与协作者讨论和审查潜在更改,并在您的更改合并到基础分支之前添加后续提交。

平台导航

关于合并请求

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

注意:在处理合并请求时,请记住以下事项

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

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

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

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

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

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

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

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

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

提示

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

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

草稿合并请求

草稿合并请求适用于具有 GitHub Free 的组织和传统按存储库计费计划的公共存储库,以及具有 GitHub Team、GitHub Enterprise Server 和 GitHub Enterprise Cloud 的公共和私有存储库。有关更多信息,请参阅“GitHub 的计划”。

创建合并请求时,可以选择创建一个可供审查的合并请求或一个草稿合并请求。草稿合并请求无法合并,并且不会自动要求代码所有者审查草稿合并请求。有关创建草稿合并请求的更多信息,请参阅“创建合并请求”和“从分支创建合并请求”。

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

比较和合并请求页面上提交之间的差异

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

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

延伸阅读