在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。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
当前回答
如果您在GitHub上创建了一个新的存储库,并意外地用README或.gitignore文件初始化了它。
如果您发现由于.git文件夹损坏而无法合并或重新创建基。
然后:
创建新文件夹git克隆将所有文件粘贴到此文件夹
现在,本地和远程将拥有“相关历史”,并将愉快地合并或重新基础。
其他回答
在我的案例中,错误是致命的:每次尝试都拒绝合并不相关的历史记录,尤其是远程添加Git存储库后的第一次拉取请求。
使用--allow不相关的历史标记以这种方式处理拉取请求:
git pull origin branchname --allow-unrelated-histories
根据2.9.0发行说明,git pull已被教导将--allow unrelated history选项传递给基础git merge
首先,使用以下命令将远程更改拉到本地:
git pull origin branchname --allow-unrelated-histories
**在我的情况下,branchname是master。
当执行pull命令时,会发生冲突。你应该解决冲突。我使用Android Studio解决冲突。
当冲突解决后,合并就完成了!
现在你可以安全地推了。
我运行了这个命令,问题得到了解决。
git pull origin branchName --allow-unrelated-histories
查看此页面了解更多信息。
对于我的案例,我想将一个不相关的历史分支合并到我的当前分支:
git merge <-unrelated-history-branch-name> --allow-unrelated-histories
git pull-origin main--允许不相关的历史记录
我在github没问题