如何限制团队成员将他们在分支的存储库中所做的更改合并到基础存储库中?

问题描述

我已经创建了一个基础存储库,并向我的朋友发送了请求,成为我的项目的合作者。他分叉了矿库,并在那里做了一些更改。然后,他为我创建了一个合并请求,以合并他所做的更改。但与此同时,他也获得了未经我的同意就将对基础存储库(即我的存储库)的更改进行合并的选项。我如何限制它?我的意思是只能合并请求而不是合并所有团队成员。

实际上,我已经在一台PC上尝试过了,在该PC上,我在浏览器上打开了主帐户,在隐身标签上打开了另一个帐户。并创建了从我的另一个帐户到主帐户的拉取请求,但是在我的另一个帐户中,我可以选择将更改合并到我的主帐户的基本存储库中,当我这样做时,更改也反映到我的主帐户GitHub存储库中。 / p>

帮我修复它。如果我在某个地方写错了,请告诉我我的朋友只能创建请求请求的过程,我将在检查后将其合并。

解决方法

首先检查目标分支(用作合并请求目标的分支)的保护方式。

请参见“ About protected branches”,更确切地说是“ Defining the mergeability of pull requests

您可以强制使用“ required reviews for pull request

存储库管理员可以要求所有拉取请求均从以下位置接收特定数量的批准审核:

  • 在存储库中具有写或管理权限的人
  • 或从指定的代码所有者那里合并到受保护的分支中。

关于模式,文档中提到:

您可以在存储库中为特定分支,所有分支或与使用fnmatch语法指定的命名模式匹配的任何分支创建分支规则。
例如,要在合并之前要求任何包含release单词的分支具有至少两个pull request复审,则可以为*release*创建分支规则。

您可以看到一个fnmatch pattern here的示例。
模式匹配的完整规范在here中,导致到Patterns Matching a Single Character and Multiple Characters

,

要在存储库GitHub页面上投影分支:

  1. 打开右上方的设置标签
  2. 点击左侧列中的分支
  3. 选择您要保护/限制访问的分支
  4. 分支保护规则的右侧,单击添加规则
  5. 分支名称模式字段是您要保护的分支的确切名称。
  6. 选择在合并之前需要请求合并请求审核或选择需要代码所有者进行审核
  7. 点击底部绿色的 Create 按钮,您就完成了!