在git重新启动/开发过程中,git显示以下错误消息:

fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef

我的Git版本是2.9.0。它在以前的版本中运行良好。

我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?


当前回答

请尝试以下命令:

git pull origin master --allow-unrelated-histories

这应该能解决你的问题。

其他回答

首先,使用以下命令将远程更改拉到本地:

git pull origin branchname --allow-unrelated-histories

**在我的情况下,branchname是master。

当执行pull命令时,会发生冲突。你应该解决冲突。我使用Android Studio解决冲突。

当冲突解决后,合并就完成了!

现在你可以安全地推了。

我也犯了同样的错误,这个命令对我有效:

git pull gitlab master --allow-unrelated-histories

请注意,在您的案例中,gitlab可能是origin或heroku。

我运行了这个命令,问题得到了解决。

git pull origin branchName --allow-unrelated-histories

查看此页面了解更多信息。

在管理员在服务器端通过几百次提交将开发分支强制推送给origin/master之后,我遇到了这个错误。

嗯,我只是不想拉(fetch+merge),而是想将本地主机与远程源主机对齐。移动到一个单独的文件夹并进行Git克隆是一种方法,但我认为仅进行硬重置是更优雅的解决方案。

因此,我对这个错误的回答,在这个特定的例子中,不是上述任何一种。

我只是想要这个:

git reset --hard origin/master

我也很挣扎,但我设法找到了解决办法。

当您遇到上面的错误时,只需选择合并提交,然后继续重新启动:

git cherry-pick -m 1 1234deadbeef1234deadbeef
git rebase --continue