关于拉取请求合并
在拉取请求中,您建议将您在头部分支上所做的更改合并到基础分支。默认情况下,任何拉取请求都可以在任何时间合并,除非头部分支与基础分支冲突。但是,您可能无法在特定时间将拉取请求合并到特定分支。例如,您可能只能在满足所需状态检查的情况下,才能将拉取请求合并到默认分支。仓库管理员可以使用分支保护规则,对分支添加此类约束。有关更多信息,请参阅 "关于受保护的分支"。
作为分支保护规则或标签保护规则的替代方案,您可以创建规则集。与分支和标签保护规则相比,规则集具有一些优势,例如状态和更好的可发现性,而无需管理员权限。您还可以同时应用多个规则集。有关更多信息,请参阅 "关于规则集"。
您可以配置拉取请求,使其在满足所有合并要求时自动合并。有关更多信息,请参阅 "自动合并拉取请求"。
如果拉取请求存在合并冲突,或者您想在合并之前测试更改,您可以 在本地检出拉取请求 并使用命令行将其合并。
您无法合并草稿拉取请求。有关草稿拉取请求的更多信息,请参阅 "关于拉取请求"。
仓库可能已配置为,在您合并拉取请求时自动删除拉取请求的头部分支。有关更多信息,请参阅 "管理分支的自动删除"。
注意: 如果您在拉取请求合并后删除了头部分支,GitHub 会检查同一存储库中是否存在任何将已删除分支指定为其基分支的开放拉取请求。GitHub 会自动更新任何此类拉取请求,将其基分支更改为合并的拉取请求的基分支。有关更多信息,请参阅“关于分支”。
拉取请求使用 --no-ff
选项 合并,但 带有压缩或变基提交的拉取请求 除外,它们使用快进选项合并。
您可以将拉取请求链接到问题,以显示修复正在进行中,并在有人合并拉取请求时自动关闭问题。有关更多信息,请参阅“将拉取请求链接到问题”。
如果您决定不希望主题分支中的更改合并到上游分支,您可以 关闭拉取请求 而不合并。
合并拉取请求
-
在您的存储库名称下,单击 拉取请求.
-
在“拉取请求”列表中,单击您要合并的拉取请求。
-
滚动到拉取请求的底部。根据为您的存储库启用的合并选项,您可以
-
将所有提交合并到基分支,方法是单击“合并拉取请求”。如果未显示“合并拉取请求”选项,请单击合并下拉菜单并选择“创建合并提交”。
-
将提交压缩成一个提交,方法是单击合并下拉菜单,选择“压缩并合并”,然后单击“压缩并合并”。
-
将提交逐个重新整理到基础分支,方法是点击合并下拉菜单,选择 **重新整理并合并**,然后点击 **重新整理并合并**。
注意: 重新整理并合并将始终更新提交者信息并创建新的提交 SHA。有关更多信息,请参阅 "关于拉取请求合并"。
-
-
如果出现提示,请键入提交消息,或接受默认消息。
有关压缩合并的默认提交消息的信息,请参阅 "关于拉取请求合并"。
-
如果您在 GitHub.com 上的帐户中关联了多个电子邮件地址,请点击电子邮件地址下拉菜单并选择用作 Git 作者电子邮件地址的电子邮件地址。此下拉菜单中仅显示已验证的电子邮件地址。如果您启用了电子邮件地址隐私,则“no-reply”将是默认的提交作者电子邮件地址。有关“no-reply”电子邮件地址可能采用的确切形式的更多信息,请参阅 "设置您的提交电子邮件地址"。
注意: 电子邮件选择器不适用于重新整理合并,因为重新整理合并不会创建合并提交。对于压缩合并,只有在您是拉取请求作者并且您的帐户中关联了多个电子邮件地址时才会显示电子邮件选择器。
-
点击 **确认合并**、**确认压缩并合并** 或 **确认重新整理并合并**。
-
可选地,删除分支。这可以使您的存储库中的分支列表保持整洁。
要了解更多关于 GitHub CLI 的信息,请参阅 "关于 GitHub CLI"。
要合并拉取请求,请使用 gh pr merge
子命令。将 pull-request
替换为拉取请求的编号、URL 或头部分支。
gh pr merge PULL-REQUEST
按照交互式提示完成合并。有关您可以选择的合并方法的更多信息,请参阅 "关于拉取请求合并"。
或者,您可以使用标志跳过交互式提示。例如,此命令将提交压缩成单个提交,提交消息为 "my squash commit",将压缩后的提交合并到基分支,然后删除本地和远程分支。
gh pr merge 523 --squash --body "my squash commit" --delete-branch
进一步阅读
- "撤销拉取请求"
- "在 GitHub Desktop 中同步您的分支" 使用 GitHub Desktop
- "关于拉取请求合并"
- "解决合并冲突"