Git push被拒绝并且获取失败

问题描述 投票:2回答:2

我在自己的分支上工作,我在推送上次提交时遇到问题。

1)以前我用错误的提交消息提交了一些更改,并通过git commit --amend命令更新了提交消息。

现在我能够通过之前的提交消息在我的分支上的git存储库中看到这个提交。 (修改前的留言)

2)现在我提交了另一个更改,当我想推送它时,除了我当前的提交之外,我看到之前修改的提交在推送列表中。

但是我无法推动它们,git说我需要合并它们但是当我点击合并时它会说:

17:41获取失败:'refs / remotes / origin / mybr'下仍有引用

17:41推送被拒绝:推送被拒绝,更新失败并出现错误。

我不知道mybr究竟来自哪里。这不是我正在研究的分支。

我该如何解决这个问题呢?

git github git-push
2个回答
1
投票

是的,正如Tyler指出的那样,你试图推送到遥控器的历史与分支的远程历史不匹配,因为你重新编写了一个现在在你的新历史中不存在的提交。

如果这是一个你独自工作的功能分支,那么告诉git你确实想要推送这个历史,即使它与当前的历史不匹配:

git push --force <remoteName> <branchName>

另一方面,如果你与人分享分支,那就不可能了。但我想你会这么说的。


1
投票

我建议你在正确运行的哈希位置创建一个新分支,然后将文件复制到这个新分支并提交并推送到原点

之后强制您的分支到新分支并删除新分支。这应该让事情顺利进行

© www.soinside.com 2019 - 2024. All rights reserved.