如何允许在gitolite上删除远程分支并禁止非快进式合并

3
我们需要允许开发人员:
1)创建主题分支并将其保存在远程仓库中。
2)进行更改。
3)将更改合并到“开发”分支中。
4)删除主题分支(git push origin:TestRemoteBranch)。
但是,我们宁愿禁止使用非快进合并与RW权限的使用。 但是,此权限也禁止删除主题分支。
有没有办法避免非快进合并并允许删除主题分支(而不是“开发”和“主”)?
2个回答

7

我通过使用 gitolite v2 解决了这个问题(禁用主分支 - master 和 development 上的 rewind):

repo    file-formats
        RW  master      = @all
        -   master      = @all
        RW  development = @all
        -   development = @all
        RW+             = @all
        config gitolite-options.deny-repo = 1

1

当您需要进行核心gitolite无法完成的检查时,就是引入VREF的时候了:

对于每个以VREF/FOO/开头的refex,在适用于此用户的规则中,都会触发对一个名为FOO的程序的调用(位置在这里)。

因此,在您的程序'FOO'中,您可以检查推送是否为非快进式(被拒绝),或者它是否为分支删除(允许)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接