gitlab-如何限制对gi上master分支的访问

我有一个仓库,其中有2个用户组:

  • 管理员
  • HTML / Ui Dee Pers

我不希望我的HTML开发人员将ui-developers分支的读/写访问权限授予HTML开发人员,因为他们不需要对此进行任何操作,也不应滥用核心代码。

尽管他们需要在自己的分支上工作ui-developers。如何在git上执行此操作?

附注:我正在使用BitBucket

更新:

当我对编码和git非常陌生时,我曾发布过这个问题。 经过2年的经验,我现在知道git不允许限制任何特定分支的READ访问。 但是,Bitbucket,Gitlab和Github等服务允许您将写入和合并限制添加到分支。

另外,我六个月前转移到Gitlab :)

Harshit Agrawal asked 2020-07-11T14:55:38Z
1个解决方案
78 votes

Git本身不具有此功能,但是许多托管服务提供商具有。 这通常称为分支保护。 据我所知,没有办法阻止读取访问。

使用BitBucket

BitBucket允许对操作进行大量自定义,以防止受到分支机构的保护。 保护分支:

  1. 转到项目中的存储库。

  2. 选择“设置>分支权限”。

  3. 单击添加权限。

  4. 在“分支”字段中,选择“分支名称”,“分支模式”或“分支模型”。

    • 分支名称-按名称选择现有分支。

    • 分支模式-使用分支模式语法指定一个分支以匹配分支名称。

    • 分支模型-选择要限制访问的分支类型。

  5. 选择您要阻止的操作类型。

    • 分支删除-防止分支和标签删除。

    • 重写历史记录-防止在指定分支上重写历史记录-例如通过强制推送或变基。

    • 没有拉取请求的更改-防止将更改直接推送到指定分支; 仅在请求请求时才允许进行更改。

    • 所有修改-阻止推送到指定分支,并限制创建与指定分支或模式匹配的新分支。

  6. 可选:为任何选定的限制添加豁免。 将用户或组添加为免税项目意味着它不适用于他们。 这不是必需的。 不添加任何豁免意味着该限制将适用于所有人。

  7. 单击创建以完成。

资源

使用GitHub

GitHub中受保护的分支:

  • 不能用力推

  • 无法删除

  • 在所需的状态检查通过之前,无法将更改合并到其中

保护分支:

  1. 在GitHub上,导航到存储库的主页。

  2. 在您的存储库名称下,单击设置。

  3. 在左侧菜单中,单击“分支”。

  4. 在“受保护的分支”下,使用下拉菜单选择要标记为受保护的分支。

  5. 选择保护此分支。

  6. 点击保存更改。

资源

使用GitLab

在GitLab中,保护分支的操作如下:

  • 它会阻止除拥有“主”权限的用户之外的所有用户创建(如果尚未创建)
  • 它可以防止除具有“主”权限的用户外的所有人推送
  • 它可以防止任何人用力推动分支机构
  • 它防止任何人删除分支

保护分支:

  1. 导航到项目的主页。

  2. 在右上角,单击设置转盘,然后选择“受保护的分支”。

  3. 从“分支”下拉菜单中,选择要保护的分支,然后单击“保护”。

  4. 完成后,受保护的分支将出现在“已受保护”列表中。

然后,您可以通过选中“开发者可以合并”或“开发者可以推送”来允许具有开发者权限的用户访问某些内容

资源

1615903 answered 2020-07-11T14:59:00Z
translate from https://stackoverflow.com:/questions/38864405/how-to-restrict-access-to-master-branch-on-git