Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法

1.问题背景

我们有时会有这样一个疑问:Git会知道两个项目是毫不相干的嘛?如果我们合并merge两个毫不相干的项目会发生什么?
其实Git是可以判断两个项目是否是毫不相干的,判断的依据是两个项目的第一次提交
我们必须知道的是,一个项目里面,不管怎么创建分支或者合并分支,至少都是从第一次提交开始创建分支,那么第一次提交就是一个项目的根节点。
如果两个的第一次提交不一样,那么Git判断两个项目是否是毫不相干的,并且这种判断没有任何漏洞可循。

如果我们Gir合并merge两个完全不同Git项目时,Git会给出我们提示:fatal: refusing to merge unrelated histories
Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法
如果我们硬要将两个完全不同的项目合并在一块,可以在git merge命令后面加上选项--allow-unrelated-historie,这样就是强制合并
Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法
可能会出现冲突提示,那么我们修复冲突。

之后可能会有如下“输入合并理由”黑框
Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法
可以直接下面3,4步退出黑框。如果要输入解释的话就需要1-4步:
1.按键盘字母 i 进入insert模式
2.修改最上面那行黄色合并信息,可以不修改
3.按键盘左上角"Esc"
4.输入":wq",注意是冒号+wq,按回车键即可

最后两个毫不相干的项目就合并在一块了。
Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法