分支许可conf与gitolite

时间:2014-05-08 20:49:39

标签: git github gitolite

我正在为我的公司设置Git Repos,但我想提供发布线索和开发人员的访问权限。我开始使用GitoLite但不知道如果有人有更好的东西可以做到这一点。< / p>

以下是问题:

@releases中的用户可以创建分支,更新master,sql和创建标记。

@developers中的用户:可以在fix / issueXXXX下创建分支,推送到他们但不能更新master或sqa ...可以从他们那里获取但从不更新它们

这是我的gitolite.conf

@releasers = xsmith xrice
@developers = dev1 dev2 dev3

repo project
    RW+      = xsmith
    RW+ master   = @releasers     # allow @releasers access to release branch
    - master     = @developers    # deny @developers access to release branch
    RW+ develop  = @developers    # allow @developers access to development branch
    RW+ develop  = @releasers     # allow @developers access to development branch
    RW refs/tags = @releasers
    RW refs/heads = @releasers

但是使用上面的文件,开发人员无法创建新的分支等...有人可以帮我解决这个问题..我也想要它所以开发人员可以从master,sqa开发并开发但不能更新它们并且无法创建修复/

下的新分支

1 个答案:

答案 0 :(得分:0)

几年前我发现自己处于类似情况。

如果您希望某人只对某个分支机构具有读取权限,请修改该文件,并提供&#34; R&#34;权限(来自Read)intead of&#34; - &#34;。

对于你的情况,我建议你使用分叉,我更容易管理一个中等规模的开发人员组,高旋转。 Forks将允许您实现您的需求。给你带来一些好处。

在分叉存储库中,@ devveloper具有写访问权限并可以推送更改。他们可以使用拉取请求(@releasers接受)回馈原始存储库。

以下是一些优点:

1)您不再依赖于特定的分支名称,例如master或development,从而为您提供更大的灵活性。

2)为了实现不同的角色,你只需要为每个fork / user赋予权限RW

3)很容易看到通过fork和main repo传递的代码是什么,并且每个接受的pull请求都有一个负责任的,你可能觉得它很有用。

这是github上的fork doc:https://help.github.com/articles/fork-a-repo。 以下是一个可能有趣的问题:https://softwareengineering.stackexchange.com/questions/200663/why-do-people-fork-repositories-on-github

我希望它有所帮助。