我们的团队成员并不熟悉git,有些成员可能会误将当地分支机构推送到服务器,特别是如果他们使用的是Windows GUI工具。
我想知道是否有办法控制不同角色的强制推送权限。我用Google搜索,但没有找到答案。我正在使用最新的Gitlab。
答案 0 :(得分:2)
尚未(应该在GitLab 6.8+中):正在进行拉取请求:" pull 6190",源于{{3} }。
GitLab已经有了受保护的分支,它们阻止除了主人之外的所有分支。然而,仍然存在意外历史重写的问题,并且大师强行推动可以消灭整个存储库(在现实生活中发生过)。
因此,额外保护分支删除和历史记录重写是有用的。
代码更改为this suggestion,基于visible here,其定义位于pull request on gitlab-shell:
def forced_push?
missed_refs = IO.popen(%W(git rev-list #{@newrev}..#{@oldrev} --)).read
missed_refs.split("\n").size > 0
end