在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 pull--重新基础开发
其他回答
通过切换“允许无关历史记录”开关来解决该错误。在Git pull或Git merge命令后,添加以下标记:
git pull origin master --allow-unrelated-histories
之后,也许你会有冲突。所以,解决冲突,并付诸实施。这对我很有用。
您可以使用--允许不相关的历史记录强制合并。
这背后的原因是自Git 2.9以来,默认行为发生了变化:
“gitmerge”用于合并两个没有公共项的分支默认情况下,这导致了现有项目被创建,然后被一个不知情的维护人员拉住,这允许将不必要的并行历史合并到现有项目。命令已被教导不允许这样做默认情况下,带有转义线--允许不相关的历史记录选项用于合并两个项目历史的罕见事件独立开始他们的生活。
有关更多信息,请参阅Git发布变更日志。
更多信息可以在这个答案中找到。
我也很挣扎,但我设法找到了解决办法。
当您遇到上面的错误时,只需选择合并提交,然后继续重新启动:
git cherry-pick -m 1 1234deadbeef1234deadbeef
git rebase --continue
如果您在GitHub上创建了一个新的存储库,并意外地用README或.gitignore文件初始化了它。
如果您发现由于.git文件夹损坏而无法合并或重新创建基。
然后:
创建新文件夹git克隆将所有文件粘贴到此文件夹
现在,本地和远程将拥有“相关历史”,并将愉快地合并或重新基础。
git pull-origin main--允许不相关的历史记录
我在github没问题