跳至主要内容

关于 Pull Request

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

平台导航

关于合并请求

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

注意:在使用合并请求时,请记住以下内容

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

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

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

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

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

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

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

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

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

提示

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

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

草稿拉取请求

草稿拉取请求适用于具有 GitHub Free for organizations 和旧版按存储库计费计划的公共存储库,以及具有 GitHub Team、GitHub Enterprise Server 和 GitHub Enterprise Cloud 的公共和私有存储库。有关详细信息,请参阅“GitHub 的计划”。

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

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

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

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

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

延伸阅读