我有两个代码库,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,因为它更新一点.
我将如何合并这些代码库,以便最终得出一个合并文件?
问题可能来自这两个不同的存储库(具有不同的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.