git无法pull仓库refusing to merge unrelated historie
当Git检测到你尝试合并的两个分支没有共享的提交历史时,就会报出 fatal: refusing to merge unrelated histories
的错误。这意味着 Git 无法找到一个共同的祖先节点来执行常规的合并操作。这种情形常见于以下几种场景:
-
克隆一个全新的仓库并试图与现有仓库合并:如果你从 GitHub 或其他地方克隆了一个全新的项目,并打算将其合并到正在工作的本地仓库中,Git 会识别到两者历史上的断层,从而拒绝合并。
-
合并两个长期独立发展的项目:如果你有两个长期独立发展且未曾合并过的历史,试图将它们合并也会遇到此问题。
解决方法
这样的错误在执行 git pull, git push, git merge 命令可能会遇到,这是因为两个分支没有取得关系,具体的操作是在你操作命令后面加 --allow-unrelated-histories 参数就可以了。
# git merge
git merge master --allow-unrelated-histories
# git pull
git pull origin master --allow-unrelated-histories
# git push
git push origin master --allow-unrelated-histories