我有一个单独的回购,其中我有2个用户组:
我不希望将我的<div class="dotted">Dotted</div>
<style>
@import url(http://fonts.googleapis.com/css?family=Oswald);
div {
text-align: center;
font: bold 21px 'Oswald',sans-serif;
text-shadow: 1px 1px 0 #fff, 2px 2px 0 #999;
text-transform: uppercase;
}
.dotted {
padding: 2.25em 1.6875em;
background-image: -webkit-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
background-image: -moz-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
background-image: -ms-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
background-image: repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
-webkit-background-size: 3px 3px;
-moz-background-size: 3px 3px;
background-size: 3px 3px;
}
</style>
分支的读/写权限授予我的HTML开发人员,因为他们不需要对其进行处理,也不应该滥用核心代码。
虽然他们需要在自己的分支master
上工作。我如何在git上执行此操作?
P.S。:我正在使用BitBucket
更新:
当我对编码和git非常陌生时,我发布了这个问题。经过2年的经验,我现在知道git不允许限制任何特定分支的READ访问。但Bitbucket,Gitlab,Github等服务允许您对分支机构进行写入和合并限制。
此外,我在6个月前转到Gitlab:)
答案 0 :(得分:57)
Git本身没有这样的功能,但很多托管服务提供商都有。这通常称为分支保护。据我所知,没有办法阻止读访问。
BitBucket允许通过分支保护来防止动作的大量自定义。保护分支机构:
转到项目中的存储库。
选择设置&gt;分支权限。
点击添加权限。
在分支字段中,选择分支名称,分支模式或分支模型。
分支名称 - 按名称选择现有分支。
分支模式 - 使用分支模式语法指定分支以匹配分支名称。
分支模型 - 选择分支类型以限制对。
选择您要阻止的操作类型。
分支删除 - 防止删除分支和标记。
重写历史记录 - 防止在指定分支上重写历史记录 - 例如通过强制推送或rebase。
没有拉取请求的更改 - 阻止将更改直接推送到指定的分支;只有拉取请求才允许更改。
所有修改 - 阻止推送到指定的分支,并限制创建与指定分支或模式匹配的新分支。
可选:为任何选定的限制添加免除项。添加用户或组作为豁免意味着它不适用于它们。这不是必需的;不添加任何豁免意味着该限制将适用于所有人。
点击“创建完成”。
GitHub中的受保护分支:
不能强行推送
无法删除
在所需的状态检查通过之前,无法将更改合并到其中
保护分支机构:
在GitHub上,导航到存储库的主页面。
在您的存储库名称下,单击“设置”。
在左侧菜单中,单击“分支”。
在受保护的分支下,使用下拉菜单选择要标记为受保护的分支。
选择保护此分支。
点击保存更改。
在GitLab中,保护分支会执行以下操作:
保护分支机构:
导航到项目的主页面。
在右上角,单击设置轮并选择受保护的分支。
从分支下拉菜单中,选择要保护的分支,然后单击保护。
完成后,受保护的分支将显示在&#34;已受保护的&#34;列表
然后,您可以通过检查&#34;开发人员可以合并&#34;来允许对具有开发者权限的用户进行一些访问。或者&#34;开发人员可以推送&#34;
答案 1 :(得分:2)
答案 2 :(得分:2)
这个帖子很旧,但是今天这里有很多信息实际上是不正确的。受保护的分支不“仅”限于 Github 公共分支。您可以限制对分支的读取访问吗?是的!您可以使用密钥管理(即 ssh 密钥)来限制读取访问。鉴于我们有承包软件开发人员从事不适合我们的项目,我们一直在这样做。基本上,如果您不使用发布的 ssh 密钥进行身份验证,则无法访问(读/写)分支。后来我们变得更聪明,开始要求每个开发人员与我们分享他们的 ssh 密钥,我们现在开发了一个脚本(用于 Bitbucket),在授予访问权限之前检查所有 ssh 密钥。
答案 3 :(得分:1)
除了@1615903's answer之外,您还可以如下保护Azure DevOps中的分支:
在Azure DevOps中,使用安全权限和策略保护分支,使您可以执行以下操作:
和more detailed information在文档页面上。
要保护分支机构:
答案 4 :(得分:1)
答案 5 :(得分:0)