Git Gerrit push不工作。远程拒绝,gerrit禁止
我正在尝试向gerrit添加现有回购协议。我创建了一个空项目,并尝试推送它(Git Gerrit push不工作。远程拒绝,gerrit禁止,git,github,ssh,gerrit,Git,Github,Ssh,Gerrit,我正在尝试向gerrit添加现有回购协议。我创建了一个空项目,并尝试推送它(gitpush)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
gitpush)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'
我已经访问了gerrit网站,并在
project/access
下添加了refs/head/*
为所有用户创建参考权限 除了添加创建引用权限外,还需要确保您拥有直接推送/强制推送权限——创建引用将涉及创建新分支,而更新现有分支(即,origin/HEAD
和origin/master
)将需要直接推送/强制推送权限(我在文档中看到gerrit将其称为直接推送和强制推送)。根据我的经验,您需要以下组权限才能将整个存储库导入gerrit--基本上是将所有内容推送到gerrit repo的权限:
- 参考文献/总目/*
- 创建引用
- 伪造作者身份
- 伪造提交者身份
- 推
- 推合并提交
- 推式注释标记
- 参考文献/标签/*
- 创建引用
因此,您可以使用git push origin master,因此我为用户添加了强制推送权限,但在推送origin/HEAD和origin/master Remote时仍然会出现(gerrit禁止)错误。我假设您能够正常使用gerrit(即创建更改并合并它们),而只是在直接推送时遇到问题?