Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-06-03. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

合并拉取请求

在工作完成时将拉取请求合并到上游分支。 对仓库具有推送权限的任何人都可以完成合并。

关于拉取请求合并

在拉取请求中,您提议将您对头部分支所做的更改合并到基础分支。 默认情况下,任何拉取请求都可随时合并,除非头部分支与基本分支冲突。 但是,何时可以将拉取请求合并到特定分支中可能会有一些限制。 例如,如果必需状态检查通过,您可能只能将拉取请求合并到默认分支。 更多信息请参阅“关于受保护分支”。

您可以配置拉取请求在满足所有合并要求时自动合并。 更多信息请参阅“自动合并拉取请求”。

如果拉取请求具有合并冲突,或者您在测试前想测试更改,可以本地检出拉取请求,然后使用命令行合并。

� 法合并草稿拉取请求。 有关拉取请求草稿的更多信息,请参阅“关于拉取请求”。

仓库可配置为在您合并拉请求时自动� 除拉取请求的头部分支。 更多信息请参阅“管理分支的自动� 除”。

注: 如果您在拉取请求合并后� 除头部分支,GitHub 会检查将已� 除分支指定为基础分支的同一仓库中的任何开放拉取请求。 GitHub 将自动更新任何此类拉取请求,将其基础分支更改为合并的拉取请求的基础分支。 更多信息请参阅“关于分支”。

拉取请求使用 --no-ff 选项合并,具有压缩或变基的提交的拉取请求除外,这种拉取请求使用快进选项合并。

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

如果决定不想让主题分支中的更改合并到上游分支,您可以关闭拉取请求而不合并。

合并拉取请求

  1. 在仓库名称下,单击 拉取请求

    Issues tab

  2. 在“Pull Requests(拉取请求)”列表中,单击要合并的拉取请求。

  3. � �据对仓库启用的合并选项,您可以:

    • 单击 Merge pull request(合并拉取请求)将所有提交合并到基本分支。 如果 Merge pull request(合并拉取请求)选项未显示,则单击合并下拉菜单,然后选择 Create a merge commit(创建合并提交)merge-pull-request-button
    • 单击合并下拉菜单,选择 Squash and merge(压缩并合并),然后单击 Squash and merge(压缩并合并)按钮,将提交压缩到一个提交click-squash-and-merge-button
    • 单击合并下拉菜单,选择 Rebase and merge(变基并合并),然后单击 Rebase and merge(变基并合并)按钮,将提交个别变基到基本分支select-rebase-and-merge-from-drop-down-menu

    注:变基并合并始终会更新提交者信息,并创建新的提交 SHA。 更多信息请参阅“关于拉取请求合并”。

  4. 如有提示,输入提交消息,或接受默认消息。

    有关压缩合并的默认提交消息的信息,请参阅“关于拉取请求合并”。 提交消息字段

注意: 电子邮件选择器不可用于变基合并(� 法创建合并提交) 或压缩合并(将创建拉取请求的用户计为压缩提交的作者)。

  1. 单击 Confirm merge(确认合并)Confirm squash and merge(确认压缩并合并)Confirm rebase and merge(确认变基并合并)
  2. (可选)� 除分支。 这有助于仓库的分支列表保持整洁。

要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。

要合并拉取请求,请使用 gh pr merge 子命令。 将 pull-request 替换为拉取请求的编号、URL 或头部分支。

gh pr merge pull-request

按照交互式提示完成合并。 有关可以选择的合并方法的详细信息,请参阅“关于拉取请求合并”。

或者,您可以使用� �志跳过交互式提示。 例如,此命令会将提交压缩为带有提交消息“我的压缩提交”的单个提交,将压缩的提交合并到基本分支,然后� 除本地和远程分支。

gh pr merge 523 --squash --body "my squash commit" --delete-branch

延伸阅读