当你使用git提交代码时出现
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
而当你使用git pull时,又出现
fatal: refusing to merge unrelated histories
这是因为你想要pull的项目与你之前想要提交的项目是不同的(即,不知道彼此的存在,并已不匹配的项目提交历史)。
若出现这样的场景请考虑以下两种情况引发此错误:
- 您已经克隆了一个项目,并且.git目录以某种方式被删除或损坏。这导致Git不了解您的本地历史记录,因此,当您尝试向远程存储库中拉入或拉出远程存储库时,它将导致它引发此错误。
- 您已经创建了一个新的存储库,向其中添加了一些提交,现在您正尝试从已经具有自己的提交的远程存储库中提取信息。Git在这种情况下也会抛出错误,因为它不知道两个项目之间的关系。
解
通过切换allow-unrelated-histories开关可以解决该错误。在git pull或git merge命令之后,添加以下标记即可:
git pull origin master --allow-unrelated-histories