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