在git rebase origin/development
期间, git rebase origin/development
显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的 git 版本是 2.9.0。用于在以前的版本中正常工作。
如何通过新版本中引入的强制标记继续使用此 rebase,从而允许不相关的历史记录?
自 git 2.9 以来,默认行为已更改:
“git merge” 用于允许合并默认情况下没有公共基础的两个分支,这导致创建现有项目的全新历史,然后由不知情的维护者提取,这允许将不必要的并行历史合并到现有项目中。 默认情况下 ,该命令已被教导不允许这样做 ,并且在一个罕见的事件中使用了逃逸舱口
--allow-unrelated-histories
选项,该事件合并了两个独立开始生命的项目的历史记录。
有关更多信息,请参阅git release changelog 。
您可以使用--allow-unrelated-histories
强制合并发生。
在我的情况下,错误只是fatal: refusing to merge unrelated histories
在远程添加 git repo 之后fatal: refusing to merge unrelated histories
在每个特别是第一次拉取请求上fatal: refusing to merge unrelated histories
。
使用--allow-unrelated-histories
标志以这种方式处理 pull 请求:
git pull origin branchname --allow-unrelated-histories
请尝试以下命令
git pull origin master --allow-unrelated-histories
这应该可以解决你的问题。