合并拉取请求
在工作完成时将拉取请求合并到上游分支。 对仓库具有推送权限的任何人都可以完成合并。
本文内容
关于拉取请求合并
如果拉取请求具有合并冲突,或者您在测试前想测试更改,可以本地检出拉取请求,然后使用命令行合并。
如果决定不想让主题分支中的更改合并到上游分支,您可以关闭拉取请求而不合并。
必要的审查
仓库管理员可以要求所有合并请求在合并到受保护分支之前,获取必要数量的具有仓库写入或管理权限的人员或者指定代码所有者的批准。 更多信息请参阅“关于受保护分支”。
启用所需的审查时,具有仓库访问权限的任何人都可以批准拉取请求中的更改。 但若没有必要数量的具有仓库写入或管理权限的审查者批准您的拉取请求,您将无法合并拉取请求。 有关仓库权限级别的更多信息,请参阅“组织的仓库权限级别”。如果要求获得指定代码所有者的审查,并且拉取请求会影响具有指定所有者的代码, 则需要该所有者的批准。
如果拉取请求在经过审查后发生了更改,并且请求更改的人无法提供批准审查,则仓库管理员或具有写入权限的人员可以取消审查。 更多信息请参阅“忽略拉取请求审查”。
在所有必需的审查者批准某个拉取请求后,如果其他打开的拉取请求具有待定或被拒绝的审查,并且这些拉取请求有头部分支指向同一提交,则您无法合并该拉取请求。 具有写入或管理员权限的人需要批准或忽略其他拉取请求的阻止审查,然后您才可以合并。
在 GitHub 上合并拉取请求
-
在仓库名称下,单击 Pull requests(拉取请求)。
-
在“Pull Requests(拉取请求)”列表中,单击要合并的拉取请求。
-
根据对仓库启用的合并选项,您可以:
- 单击 Merge pull request(合并拉取请求),将所有提交合并到基本分支。 If the Merge pull request option is not shown, then click the merge drop down menu and select Create a merge commit.
- Squash the commits into one commit by clicking the merge drop down menu, selecting Squash and merge and then clicking the Squash and merge button.
- Rebase the commits individually onto the base branch by clicking the merge drop down menu, selecting Rebase and merge and then clicking the Rebase and merge button.
注:变基并合并始终会更新提交者信息,并创建新的提交 SHA。 更多信息请参阅“关于拉取请求合并”。
-
If prompted, type a commit message, or accept the default message.
-
Click Confirm merge, Confirm squash and merge, or Confirm rebase and merge.
-
(可选)删除分支。 这有助于仓库的分支列表保持整洁。
拉取请求使用 --no-ff
选项合并,具有压缩或变基的提交的拉取请求除外,这种拉取请求使用快进选项合并。
您可以在拉取请求或提交消息中使用关键字关闭对应的议题。 更多信息请参阅“使用关键词关闭议题”。