2015-07-02 44 views
8

我正在尝试向gerrit添加一个现有的repo。我创建一个空的项目,并试图推动它(git push ssh://[email protected]:29418/project *:*)。我得到的回报此错误消息:Gerrit推不工作。远程拒绝,禁止使用gerrit

Counting objects: 14, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (3/3), 384 bytes | 0 bytes/s, done. 
Total 3 (delta 1), reused 3 (delta 1) 
remote: Resolving deltas: 100% (1/1) 
remote: Processing changes: refs: 3, done  
To ssh://[email protected]:29418/project 
! [remote rejected] origin/HEAD -> origin/HEAD (prohibited by Gerrit) 
! [remote rejected] origin/master -> origin/master (prohibited by Gerrit) 
! [remote rejected] origin/ref/for/master/testing -> origin/ref/for/master/testing (prohibited by Gerrit) 
error: failed to push some refs to 'ssh://[email protected]:29418/project' 

我已经去了格里特网站和project/access下添加refs/head/*为所有用户创建参照权限。

+0

我认为你能正常使用格里特(即创建的变化和合并它们)和只是有直接推动的麻烦? – forkrul

回答

2

除了添加创建参考特权之外,还需要确保您具有直接推/推特权 - 创建参考将涉及创建新分支,而更新现有分支(即origin/HEADorigin/master)将需要直接推/推推特权(我已经看到gerrit将此称为文档中的直推和推推)。

+0

所以我给用户添加了强制推送权限,并且当按下origin/head和origin/master remotes时仍然出现(被gerrit禁止)错误 – Vis

6

从我的经验,你需要下面的一组权限导入整个存储库格瑞特 - 基本权限都推到格里特回购:

  • 裁判/头/ *
    • 创建参考
    • 伪造作者身份
    • 锻造提交者身份
    • 推合并提交
    • 推注释标签
  • 裁判/标签/ *
    • 创建参考
0

在你的Git项目,使用混帐配置--list来请查看您的user.name,user.email是否等于您本地的gerrit网站用户的名称或email。他们必须相同。如果不等于,请使用git config user.name XXX。

最后。混帐配置remote.origin.push裁判/头/ :裁判/为/ ,所以你可以使用git推起源主