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

时间:2017-08-30 02:24:27

标签: git github version-control merge embedded-linux

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

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

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

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

开发者D2开始了,他的回购是:

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

现在,希望为两个仓库提供共同的分支,以便他们可以合并自己的分支以进行新工作。

他们的工作大多是小冲突,可以手动解决。

什么命令或过程最好?

2 个答案:

答案 0 :(得分:2)

我的建议:
它可以在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

答案 1 :(得分:0)

我的建议只是让其中一个回购作为委托人(让他们说 first-repo ),在那里创建一个分支(让我们说 the-other-repo < / em>),然后在 first-repo 的工作目录中转储/复制(没有git命令,只是一个普通的副本) the-other-repo 的提示作为HEAD的 the-other-repo ,提交更改,并将 the-other-repo 分支合并到&#34; master&#34;的HEAD中。 first-repo 的分支。

如果想保留提交历史记录,可以进行改动。