我们一直使用gerrit几年,但我们不使用gerrit文档中描述的工作流程。不幸的是,那些开车采用gerrit并为我们管理的开发人员不再在这里,所以我们没有本地专家。我们不会从gerrit克隆,而是从我们的authoratitive存储库中克隆并在我们的克隆中指定一个'gerrit'远程。最近我们有一个用户使用命令:
git push gerrit master;refs/for/master/some_comment
自';'终止了它变为
的命令git push gerrit master
实际上将提交推送到authoratative存储库的主分支。但是,它没有执行authoratative存储库中的pre-recevie钩子(或者我可以说的任何钩子)。我们有两个问题:
有没有办法告诉格里特拒绝这种推动?我尝试将项目设置为只读,但这也拒绝正确格式化的更改推送。
如果没有,我们能否确保权威存储库中的钩子被执行?
答案 0 :(得分:1)
要防止直接推送到存储库,请从项目的访问控制中的Push
中删除refs/heads/*
权限。
Push
权限应保留在refs/for/refs/heads/*
上,以便开发人员推送更改以供审核。