合并具有不同历史的两个不同存储库

cod*_*007 3 git version-control merge github embedded-linux

我们最终得到了 2 个不同历史的不同 repo,因为两个人开始了他们自己的 repo,现在是时候合并了。

启动代码相同,只有两个不同的 git init 和 remote。

所以条件是开发人员 D1 开始,他的回购是:

开始-> A->B->C->

开发人员 D2 开始了,他的 repo 是:

开始->Z->Y->X->

现在,希望为两个 repo 拉取公共分支,以便它们可以合并自己的分支以进行新的工作。

他们的工作大多是分开的,有一些可以手动解决的小冲突。

什么命令或进程应该是最好的?

Dav*_*uan 8

我的建议:
可以在 D1 的 repo 或 D2 的 repo 中完成:

D2侧

git remote add [name-for-D1-repo] [D1-repo-url]
git fetch --all
git merge [name-for-D1-repo]/[D1-working-branch] --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)


小智 0

我的建议只是将其中一个存储库作为主体(假设为first-repo),在那里创建一个分支(假设为the-other-repo),然后转储/复制(没有git命令,只是一个简单的副本)第一个仓库的工作目录中的the -other-repo是 the -other-repo作为 HEAD,提交更改,并将the-other-repo分支合并到第一个仓库的“master”分支的 HEAD 中-回购

如果想保留提交历史记录,您可以进行变基。