问题解决方案git无法pull仓库refusing to merge unrelated histories

Posted anliux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题解决方案git无法pull仓库refusing to merge unrelated histories相关的知识,希望对你有一定的参考价值。

参考链接

问题描述

  • 预将本地已有仓库与github新建仓库关联,并上传本地仓库。
  • 首先经过init + git remote add .. 等一系列关联步骤
  • 如果在GitHub建库时选了协议,就需要先pull,此时在没有git push -u ..的情况下,可能报错如题

问题分析

  • 如果合并了两个不同的开始提交的仓库,在新的 git 会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就给下面的提示

    • fatal: refusing to merge unrelated histories
  • 如在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。这时会发现 github 的仓库和本地的没有一个共同的 commit 所以 git 不让提交,认为是写错了 origin ,如果开发者确定是这个 origin 就可以使用 --allow-unrelated-histories 告诉 git 自己确定

  • 遇到无法提交的问题,一般先pull 也就是使用 git pull origin master

    • 这里的 origin 就是仓库
    • master 就是需要上传的分支
    • 因为两个仓库不同,发现 git 输出 refusing to merge unrelated histories 无法 pull 内容
  • 因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在 git pull 之后,这句代码是在git 2.9.2版本发生的,最新的版本需要添加 --allow-unrelated-histories 告诉 git 允许不相关历史合并

问题解决

  • 假如源是origin,分支是master,那么这样写:

    • git pull origin master --allow-unrelated-histories
  • 如果有设置了默认上传分支就可以用下面代码

    • git pull --allow-unrelated-histories

END

以上是关于问题解决方案git无法pull仓库refusing to merge unrelated histories的主要内容,如果未能解决你的问题,请参考以下文章

git无法pull仓库refusing to merge unrelated histories

git无法pull仓库refusing to merge unrelated histories

git无法pull仓库refusing to merge unrelated histories

git在使用中出现 refusing to merge unrelated histories如何解决?

idea提交代码时报错Git Pull Failed: refusing to merge unrelated histories

Git 报错:fatal: refusing to merge unrelated histories