格里特推不起作用.远程被拒绝,被gerrit禁止

Vis*_*Vis 9 git ssh github gerrit

我试图将现有的回购添加到gerrit.我创建了一个空项目并试图推送它(git push ssh://admin@localhost:29418/project *:*).我收到此错误消息:

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://admin@localhost: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://admin@localhost:29418/project'
Run Code Online (Sandbox Code Playgroud)

我已经去了gerrit网站并为所有用户project/access添加了refs/head/*Create Reference权限.

小智 9

根据我的经验,您需要以下组权限才能将整个存储库导入到gerrit中 - 基本上是将所有内容都推送到gerrit存储库的权限:

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


for*_*rul 2

除了添加“创建引用”权限之外,您还需要确保具有直接推送/强制推送权限 - 创建引用将涉及创建新分支,而更新现有分支(即origin/HEADorigin/master)将需要直接推送/强制推送特权(我已经看到 gerrit 在文档中将其称为直接推送和强制推送)。