我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: GitHub.com

合并拉取请求

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

本文内容

关于拉取请求合并

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

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

You can have head branches automatically deleted after pull requests are merged in your repository. For more information, see "Managing the automatic deletion of branches."

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

必要的审查

Repository administrators can require that all pull requests receive a specific number of approving reviews from people with write or admin permissions in the repository or from a designated code owner before they're merged into a protected branch. 更多信息请参阅“关于受保护分支”。

When required reviews are enabled, anyone with access to the repository can approve changes in a pull request. However, you won't be able to merge your pull request until the required number of reviewers with write or admin permissions in the repository approve your pull request's changes in their review. For more information about repository permission levels, see "Repository permission levels for an organization." If review is required from a designated code owner and the pull request affects code that has a designated owner, approval from that owner is required.

如果拉取请求在经过审查后发生了更改,并且请求更改的人无法提供批准审查,则仓库管理员或具有写入权限的人员可以取消审查。 更多信息请参阅“忽略拉取请求审查”。

在所有必需审查者批准了拉取请求后,如果有其他打开拉取请求的审查为待定或拒绝,并且这些拉取请求有一个头部分支指向同一个提交,则将无法合并它。需要有写入管理员权限的人批准其他拉取请求的审查或取消对其的阻止之后才能合并。

在 GitHub 上合并拉取请求

  1. 在仓库名称下,单击 Pull requests(拉取请求)

    议题和拉取请求选项卡选择

  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. 如有提示,输入提交消息,或接受默认消息。

    提交消息字段

  5. Below the commit message fields, click the email address drop-down menu and choose a Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then <username>@users.noreply.github.com is the default commit author email address. For more information, see "Setting your commit email address."

    Choose commit email addresses

  6. 单击 Confirm merge(确认合并)Confirm squash and merge(确认压缩并合并)Confirm rebase and merge(确认变基并合并)

  7. (可选)删除分支。 这有助于仓库的分支列表保持整洁。

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

在拉取请求或提交消息中使用关键词可关闭相应的议题。更多信息请参阅“使用关键词关闭议题。”

延伸阅读

问问别人

找不到要找的内容?

联系我们