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

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

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

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


当前回答

我在第一次设置本地存储库时遇到了这个错误。然后我去了GitHub并创建了一个新的存储库。然后我跑了

git remote add origin <repository url>

当我尝试推或拉时,我每次都会遇到同样的致命错误:unlated_histories错误。

以下是我修复它的方法:

git pull origin master --allow-unrelated-histories
git merge origin origin/master
... add and commit here...
git push origin master

其他回答

在我的案例中,错误是致命的:每次尝试都拒绝合并不相关的历史记录,尤其是远程添加Git存储库后的第一次拉取请求。

使用--allow不相关的历史标记以这种方式处理拉取请求:

git pull origin branchname --allow-unrelated-histories

根据2.9.0发行说明,git pull已被教导将--allow unrelated history选项传递给基础git merge

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

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

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

我遇到了同样的问题:

这是我所做的:

git pull origin main --allow-unrelated-histories

我使用Visual Studio代码解决了合并冲突,然后我做到了:

git commit -m "commit message"

git push origin main

对于Android Studio和IntelliJ:

首先,承诺一切并解决任何冲突。

然后从IDE下方打开终端并输入:

git pull origin master --allow-unrelated-histories

现在你可以推了。

尝试git pull--重新基础开发