我可以合并两个具有相似内容的Git存储库,但不能共享任何祖先吗?

Ber*_*own 15 git merge

我有两个代码库,Code base-1,Code Base-2.

我运行命令......

git init
git add .
git commit -m "Initial Commit"
Run Code Online (Sandbox Code Playgroud)

...在两个存储库(目录)中.

代码base-1和代码base-2之间存在代码差异.

我不能分支他们,因为他们已经包含约0.1%的差异.文件名是相同的,但代码有一些轻微的编辑.

有没有办法合并两个存储库之间的差异?

编辑:

例如,假设我有以下内容.这就是我的开始.代码库1和2之间存在细微差别.

[oldest code case] 
code-base-1/ 
code-base-1/.git  [git stuff with already created repo] 
code-base-1/file1 
code-base-1/file2 

code-base-2/ 
code-base-2/.git [git stuff with already created repo] 
code-base-2/file1 
code-base-2/file2 
Run Code Online (Sandbox Code Playgroud)

理想情况下,我可以删除code-base-2,因为它更新一点.

我将如何合并这些代码库,以便最终得出一个合并文件?

Von*_*onC 8

问题可能来自这两个不同的存储库(具有不同的SHA-1第一个节点),而不是克隆然后修改的一个repo.
这意味着' git fetch'可能还不够.

您可以简单地使用外部工具(在Git外部)将CB2(Code-Base-2)的内容合并到CB1中,就像WinMerge一样,如" 从git存储库外部更改合并 "这一问题中所建议的那样.

另一种选择是使用一些移植技术来完成一次获取:看看问题" 当两个相同结构的git repos从未有过任何共同的历史时,它们是否可以合并? "

$ cd project1
$ git config remote.project2.url /path/to/project2
$ git config remote.project2.fetch 'refs/heads/*:refs/project2/*'
$ git fetch project
Run Code Online (Sandbox Code Playgroud)

另外修改移植文件(.git/info/grafts)以将project2的提交链接到project1.