Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Gerrit HEAD:参考/发布/主块更改_Git_Gerrit_Git Review - Fatal编程技术网

Git Gerrit HEAD:参考/发布/主块更改

Git Gerrit HEAD:参考/发布/主块更改,git,gerrit,git-review,Git,Gerrit,Git Review,当尝试使用git review将我的更改上载到gerrit时,我收到以下错误消息: Fetching gerrit 2018-01-26 13:33:52.161429 Running: git rev-parse HEAD 2018-01-26 13:33:52.166465 Running: git show-ref --quiet --verify refs/remotes/gerrit/master 2018-01-26 13:33:52.172314 Running: git reba

当尝试使用git review将我的更改上载到gerrit时,我收到以下错误消息:

Fetching gerrit
2018-01-26 13:33:52.161429 Running: git rev-parse HEAD
2018-01-26 13:33:52.166465 Running: git show-ref --quiet --verify refs/remotes/gerrit/master
2018-01-26 13:33:52.172314 Running: git rebase -p -i remotes/gerrit/master
2018-01-26 13:33:53.075322 Running: git reset --hard b8fb53d42c568aaed3216758076b5a5d2df6ebc6
2018-01-26 13:33:53.086334 Running: git config --get-colorbool color.review true
2018-01-26 13:33:53.091360 Running: git log --color=always --decorate --oneline HEAD --not --remotes=gerrit
2018-01-26 13:33:53.098427 Running: git rev-parse --symbolic-full-name --abbrev-ref HEAD
2018-01-26 13:33:53.105430 Running: git log --pretty='%B' HEAD^1..HEAD
Using local branch name "master" for the topic of the change submitted
2018-01-26 13:33:53.113735 Running: git push gerrit HEAD:refs/publish/master
fatal: One or more refs/publish/ names blocks change upload
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
我的ssh密钥有效;我可以用ssh从gerrit克隆项目,没有错误;而且
git review-s
工作正常。我的git配置:

remote.origin.url=git@gitlab.test.lt:tt-java/service-client.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
remote.gerrit.url=ssh://test.test@review.test.lt:29418/service-client.git
remote.gerrit.fetch=+refs/heads/*:refs/remotes/gerrit/*

gerrit  ssh://test.test@review.test.lt:29418/service-client.git (fetch)
gerrit  ssh://test.test@review.test.lt:29418/service-client.git (push)
origin  git@gitlab.test.lt:tt-java/service-client.git (fetch)
origin  git@gitlab.test.lt:tt-java/service-client.git (push)

git-review
是通过osx上的自制软件安装的。我读过关于发布到
refs/for/master
,但得到了相同的错误。有什么想法吗?

refs/publish vs refs/for

refs/publish/*
只是
refs/for/*
的一个替代名称-使用其中一个名称没有区别

问题

服务器存储库在
refs/for/
命名空间下有一个分支。发生这种情况时,Gerrit拒绝工作,因为现在
refs/for/
(通常是一个“神奇的”分支)实际上是Git存储库中的一个真正的分支

这个分支可能是错误地为直接推送到Git存储库而不是Gerrit SSH端口的用户创建的

如何修复

要查看哪些引用已经存在,Gerrit管理员需要转到该特定存储库并执行:

git for-each-ref refs/for
他需要删除所有这些引用或将它们重命名为其他名称。通常,只需执行以下操作即可安全地删除所有这些组件:

for n in $(git for-each-ref --format='%(refname)' refs/for); do git
update-ref -d $n; done
更多信息


请参阅。

refs/publish与refs/for

refs/publish/*
只是
refs/for/*
的一个替代名称-使用其中一个名称没有区别

问题

服务器存储库在
refs/for/
命名空间下有一个分支。发生这种情况时,Gerrit拒绝工作,因为现在
refs/for/
(通常是一个“神奇的”分支)实际上是Git存储库中的一个真正的分支

这个分支可能是错误地为直接推送到Git存储库而不是Gerrit SSH端口的用户创建的

如何修复

要查看哪些引用已经存在,Gerrit管理员需要转到该特定存储库并执行:

git for-each-ref refs/for
他需要删除所有这些引用或将它们重命名为其他名称。通常,只需执行以下操作即可安全地删除所有这些组件:

for n in $(git for-each-ref --format='%(refname)' refs/for); do git
update-ref -d $n; done
更多信息


请参阅。

正确,谢谢。为了防止我在refs/publish上出错,我也必须在refs/publish上进行修复,而不是在refs/for上。好的,在我写下答案后,我想到了这个refs/for vs refs/publish点。。。谢谢你的评论。正确,谢谢。为了防止我在refs/publish上出错,我也必须在refs/publish上进行修复,而不是在refs/for上。好的,在我写下答案后,我想到了这个refs/for vs refs/publish点。。。谢谢你的评论。