在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
当前回答
我认为这是一种非常罕见的情况;您已删除远程(例如,原点):
git remote rm origin
然后,过了一段时间,出于某种原因,您尝试将其添加回去,但输入了错误的URL。
git remote add origin git@github.com:example/wrong.git
当然,解决方案是使用正确的URL:
git remote add origin git@github.com:example/correct.git
其他回答
警告:这可能会覆盖远程存储库
这对我有用:
git push origin master --force
为此,输入命令:
git pull origin branchname --allow-unrelated-histories
例如
git pull origin master --allow-unrelated-histories
参考:
GitHub无关历史问题
尝试git pull--重新基础开发
在我的案例中,错误是致命的:每次尝试都拒绝合并不相关的历史记录,尤其是远程添加Git存储库后的第一次拉取请求。
使用--allow不相关的历史标记以这种方式处理拉取请求:
git pull origin branchname --allow-unrelated-histories
根据2.9.0发行说明,git pull已被教导将--allow unrelated history选项传递给基础git merge
我也有同样的问题。试试看:
git pull origin master --allow-unrelated-histories
git push origin master