GIT推送错误 - 重复请求

11

刚接触GIT时,在将本地分支更改推送到主分支时遇到以下问题。 非常感谢任何帮助。

![远程拒绝] HEAD -> refs / for / master(重复请求) 错误:无法将一些引用推送到<some SSH站点>

2个回答

36

从错误信息本身就可以看出问题。

执行 git log 命令,您应该会注意到同一更改有两个不同的提交。即,相同的更改 Id 将对应于不同的提交 Id。

您应该还原最新的重复提交,并将其与现有提交合并。

请使用以下命令解决问题。

 git reset --soft HEAD^
 git status
 git commit --amend

现在尝试推送更改,即'git push origin HEAD:refs/for/master'


当我尝试第一步时,出现了一个致命错误消息,说它是一个模糊的参数HEAD,结果我的分支领先3个提交。在我能够继续之前,我运行了"git reset --soft HEAD~1"三次。 - boardtc

2

很有可能,远程仓库中有您本地仓库尚未拥有的新更改。在再次尝试git push之前,您可能需要执行git pull --rebasegit pull,然后进行合并。


在执行“git push”之前,已经执行了“git pull --rebase”。在Gerrit中有一个代码审查,这些更改将使用相同的“change-id”推送。这会引起问题吗? - Sudhi
重要的是要理解“git-review”的行为,即一旦审核完成并接受,它将合并到哪个分支中。在大多数情况下,它将是“master”。因此,如果远程“master”已经超前于您重新基于和开始工作的位置,则需要拉取最新的master更改,然后重新基于这个最新的版本(使用测试用例验证您的更改),然后“git review”将适用于您的分支更改。 - parasrish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接