合并2个具有几乎完全相同内容的git存储库

时间:2018-12-07 13:46:35

标签: git merge repository

现在,我有两个不同的存储库。 回购1:仅“核心”模块和一些“ sys”模块。 回购2:还获得了“核心”,“ sys”以及许多其他内容。 问题是第二个仓库没有跟踪或上传任何核心或sys模块的更改,而我在那里做了很多更改。在进行这些更改之前,Core和sys的阶段与core和sys的阶段不同。

现在,我将不将回购2中的“核心”和“ sys”与回购1进行同步,而且我不知道有什么解决方案。

1 个答案:

答案 0 :(得分:1)

快速解答:git remote add,fetch,merge。

很长一段。 即使存储库完全不同(没有共同的祖先),您也可以将2个存储库的内容合而为一。 在一个存储库(例如存储库A)上,使用git remote add添加第二个存储库(例如存储库B)。 仍在第一个存储库(A)中,使用git fetch repository_B获取第二个存储库的内容。 您得到的是一个包含两者内容的存储库。 您现在可以合并它们。假设您在master中,则可以将其他存储库母版与git merge repository_B/master合并。 现在,您可以提交所有内容的新提交。

如果您有很多冲突,最好尝试使用git diff使2个内容更相似,然后逐步更新一个或另一个以减少差异。如果目录路径不同,则可能涉及git mv