git push 错误 -> ! [远程拒绝] HEAD -> refs/master (ref 存在)

Dee*_*epu 2 git gerrit

我正在尝试执行如下所示的 git push

git push origin HEAD:refs/master
Run Code Online (Sandbox Code Playgroud)

它提供以下日志

Counting objects: 24, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 454 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas:   0% (0/1)
To ssh://deepu.t@...
Run Code Online (Sandbox Code Playgroud)

之后我收到以下错误

! [remote rejected] HEAD -> refs/master (ref exists)
Run Code Online (Sandbox Code Playgroud)

我已经搜索过,但找不到与此错误相关的任何内容。

(参考退出)

请帮忙!!

hel*_*ert 5

正确的Refspecmaster分支或者是masterrefs/heads/master。因此,以下任一方法都应该有效:

git push origin HEAD:master
git push origin HEAD:refs/heads/master
Run Code Online (Sandbox Code Playgroud)

由于您似乎在使用 Gerrit(我假设是因为您在问题中使用了标签),您可能无权直接推送到 master 分支,具体取决于您的 Gerrit 的配置方式。如果您打算将更改推送到代码审查而不是直接推送到master分支,请使用refs/for/masterrefspec:

git push origin HEAD:refs/for/master
Run Code Online (Sandbox Code Playgroud)