我正在尝试将具有多个分支和标签的现有 git 存储库导入 gerrit。我正在关注https://gerrit-review.googlesource.com/Documentation/install-quick.html#_already_existing_project上的官方指南。
但是,在发出推送命令时,除了我当前所在的“master”之外,所有分支和标签都“被 Gerrit 禁止”。输出是这样的:
user@host:~/my-project$ git push ssh://user@localhost:29418/demo-project *:*
[....]
* [new branch] master -> master
! [remote rejected] origin/Branch1 -> origin/Branch1 (prohibited by Gerrit)
! [remote rejected] origin/Branch2 -> origin/Branch2 (prohibited by Gerrit)
[....]
! [remote rejected] Tag1 -> Tag1 (prohibited by Gerrit)
! [remote rejected] Tag2 -> Tag2 (prohibited by Gerrit)
[....]
我是管理员,所以它不应该是访问权限问题。
更新: 通过使用 blahdiblah 的脚本(https://stackoverflow.com/a/16095671/63661),我成功地移动了所有分支。为了能够传输所有标签,我首先必须使用 gerrit Web 界面向管理员组授予 *refs/tags/** 的“创建引用”权限。之后,我可以使用git push --tags推送它们。