通过 git 审核将补丁集提交给 gerrit 时出现远程拒绝错误

remote rejected error in submitting patchset to gerrit via git review

我正在努力通过 git 审核命令将更改推送到 Gerrit。

到目前为止,我已经执行了以下步骤:

  1. 按照 official documentation.

  2. 在我的本地电脑上安装了 Gitblit 服务器
  3. 已按照 this tutorial.

  4. 安装 Gerrit

现在,为了推送更改以供审核,我执行了以下操作。

git clone http://admin@localhost:8008/r/testrepo.git

修改了一些文件

git add .
git commit -m 'my_trial_commit'

到目前为止一切正常,但是当我 运行 git review -R 提交新的更改以供审核时,我收到以下错误。

git review -R
To http://localhost:8008/r/testrepo.git
! [remote rejected] HEAD -> refs/for/master (testrepo.git is not configured to receive patchsets)
error: failed to push some refs to 'http://admin@localhost:8008/r/testrepo.git'

看来您正在推送到 GitBlit,而不是 Gerrit,因为错误出现了 from GitBlit code。重试,推送到 Gerrit HTTP 或 SSH 端口。

此外,为什么使用 GitBlit?推荐(和支持)的代码存储库浏览器是 Gitiles(自 3.0 起作为核心插件包含在内)。

如果您需要单独的代码托管(虽然我同意 Gert 的观点,但使用 gitiles 对您来说会更容易)...那么您可能想要添加一个 .git审查文件到你的仓库。 .gitreview 文件可以指向 gerrit 服务器。例如:

https://opendev.org/zuul/zuul/src/branch/master/.gitreview

[gerrit]
host=review.opendev.org
port=29418
project=zuul/zuul.git

是 zuul git 审查文件 - 它允许从 https://opendev.org/zuul/zuul 克隆 zuul - 但让我们 git-审查知道 zuul 的 gerrit 在 review.opendev.org。