我正在为我的公司设置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开发并开发但不能更新它们并且无法创建修复/
下的新分支答案 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
我希望它有所帮助。