2016-08-23 37 views
0

我已经安装了GitLab和Gerrit,并且目前正在使用Gerrit Wiki测试Gerrit。但是,每当我尝试使用gerrit_test分支将我的更改推送到gerrit时,运行git review -R时就会收到此消息。任何想法为什么会出现这个错误?为什么git复审失败,'未能推送refs'消息?

$ git review -R 
remote: error: cannot lock ref 'refs/publish/master/gerrit_test': 'refs/publish/master' exists; cannot create 'refs/publish/master/gerrit_test' 
To [email protected]<host>.com:<user>/scripts.git 
! [remote rejected] HEAD -> refs/publish/master/gerrit_test (failed to update ref) 
error: failed to push some refs to '[email protected]<host>.com:<user>/scripts.git 

如果有任何细节我可能会帮助,请告诉我,我可以分享。

回答

1

如果远程设备具有分支foo,则无法推送foo/test分支,因为foo已创建为文件而不是远程的refs目录中的目录。

尝试创建一个非主分支的评论,或许是feature/test-gerrit,或者从git review创建评论分支时可能会使用该模式的设置。

+0

似乎无论我创建了哪个分支,它仍然使用'refs/public/master/'。为什么使用公共/主人的任何特定原因?我能以任何方式改变它吗? – hobbes

+0

根据https://www.mediawiki.org/wiki/Gerrit/Tutorial#Configuring_git-review你可以告诉它使用除“公共”以外的其他远程,但不幸的是,我现在还不知道更多。如果你更新你的问题,希望有人能够进一步提供帮助。 – jedifans

+0

这也是我一直在跟踪的相同文档,不幸的是我的结果不同,即使我的行为是相同的。 – hobbes