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

Merge 2 different git repositories with nearly exact content

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

现在我不想将回购 2 中的 "core" 和 "sys" 与回购 1 同步,而且我没有任何解决方案。

快速回答:git远程添加、获取、合并。

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

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