如何避免Gerrit权限问题并将GitHub存储库迁移到Gerrit



我正在将一个GitHub项目转移到Gerrit。我正在做以下事情:

  1. 在Gerrit中创建一个没有初始提交集的新项目

  2. 将回购从GitHub克隆到我的本地机器上。

  3. cd进入我的机器上的repo目录

  4. 删除GitHub远程(git远程删除原点)

  5. 添加Gerrit remote(git remote添加原点ssh://git.

  6. 确保我在Gerrit 的目标存储库中拥有refs/*的推送权限

  7. 运行git推送原点主

运行步骤7时出现以下错误:![远程拒绝]主->主(Gerrit禁止:不允许更新创建新的提交对象)

我已经确认我的推送/获取远程实际上是我想要推送到的Gerrit存储库。此外,我已经验证了我可以在GitHub存储库之外对此存储库进行提交(例如,我可以提交一个只包含空.txt文件的提交以供审查)。

另一个注意事项是:我以前没有这个问题,但自从Gerrit升级到2.16.2 后,我就一直有这个问题

当你执行"git push origin master"时,你试图绕过Gerrit上的代码审查直接推送到分支(这是通常的推送-审查命令:git push-origin HEAD:refs/for/master")。"master->master(Gerrit禁止)"意味着你没有执行此推送的权限。

请在Gerrit文档中查看有关此错误的更多信息。

注意:这是一个权限问题,与Gerrit 2.16.2的升级没有直接关系。

最新更新