Git本身不具有此功能,但是许多托管服务提供商具有。这通常称为分支保护。据我所知,没有办法阻止读取访问。
使用BitBucket
BitBucket允许对操作进行大量自定义,以防止受到分支机构的保护。保护分支:
转到项目中的存储库。
选择“设置>分支权限”。
单击添加权限。
在“分支”字段中,选择“分支名称”,“分支模式”或“分支模型”。
- 选择您要阻止的操作类型。
分支删除-防止分支和标签删除。
重写历史记录-防止在指定分支上重写历史记录-例如通过强制推送或变基。
没有拉取请求的更改-防止将更改直接推到指定分支;仅在请求请求时才允许进行更改。
所有修改-防止推送到指定分支,并限制创建与指定分支或模式匹配的新分支。
可选:为任何选定的限制添加豁免。将用户或组添加为免税项目意味着它不适用于他们。这不是必需的。不添加任何豁免意味着该限制将适用于所有人。
单击创建以完成。
资源
使用GitHub
一个存储库可以有多个影响相同分支的受保护分支规则。
受保护的分支仅在使用GitHub Free的公共存储库中可用。
可以将GitHub中受保护的分支配置为要求:
通过合并请求进行推送,并在合并之前进行审核,
其他分支在合并之前通过状态检查,
承诺要签名,
历史是线性的
甚至对管理员也强制执行上述规则,
推送来自特定的人员,团队或应用,
可以单独允许强制推送和删除。
保护分支:
在GitHub上,导航到存储库的主页。
在您的存储库名称下,点击设置。
在左侧菜单中,点击分支。
点击“分支保护规则”旁边的添加规则。
在“分支名称模式”下,键入要保护的分支名称或模式(列出并计算了受影响的分支)。
如果需要,请配置特定的分支规则设置。
单击创建或保存更改。
资源
使用GitLab
在GitLab中,保护分支将执行以下操作:
- 它会阻止除具有“主”权限的用户之外的所有用户创建(如果尚未创建)
- 它可以防止除具有Master权限的用户以外的其他任何人推送
- 它可以防止任何人用力推动分支机构
- 它防止任何人删除分支
保护分支:
导航到项目的主页。
在右上角,单击定位轮,然后选择“受保护的分支”。
从“分支”下拉菜单中,选择要保护的分支,然后单击“保护”。
完成后,受保护的分支将出现在“已受保护”列表中。
然后,您可以通过选中“开发者可以合并”或“开发者可以推送”来允许具有开发者权限的用户访问某些内容
资源