如何使用 Gerrit 访问规则完成只读 git 分支

How to accomplish read-only git branch using Gerrit access rules

我们使用 Gerrit 2.5-rc1) ACL 来管理对我们 git 项目和分支的访问。我们尽量使开发者团体的规则简单; refs/heads/* 允许推送、创建引用、推送合并提交。

需要标记特定分支,将其命名为foo,为只读。我尝试为 refs/heads/foo/* 添加新规则,允许读取,但拒绝推送、推送合并提交等(勾选和不勾选 "Exclusive" 复选框)。在任何情况下,开发人员仍然可以推送到该分支。

知道如何在不编写服务器挂钩等的情况下做到这一点吗?

对于您的 Gerrit 版本,我认为以下设置应该可以解决问题:

refs/heads/*     ALLOW
refs/heads/foo/* BLOCK