将两个不同的存储库合并为一个并保留历史记录

时间:2018-04-17 16:40:51

标签: git github

我克隆了从这里派生了一个存储库:https://github.com/react-community/react-native-maps,产生了两个不同的存储库。

Clone Repo: https://github.com/Stophface/react-native-maps-0.20.1(回购1)

Fork Repo: https://github.com/Stophface/react-native-maps(回购2)

现在我想将Clone Repo(repo 1)合并到Fork Repo(repo 2)中,如果可能的话保留历史记录。这甚至可能吗?

我按照说明here。当我尝试将Clone repo(repo 1)合并到Forked Repo(repo 2)时,我收到错误

  

致命:拒绝合并不相关的历史

1 个答案:

答案 0 :(得分:1)

添加" repo1"作为遥控器并将其合并到" repo2"

您可以将repo1添加为新的远程,然后将它们合并到本地存储库中:

  1. 克隆分叉https://github.com/Stophface/react-native-maps

    git clone https://github.com/Stophface/react-native-maps && cd react-native-maps

  2. 将新远程数据添加到本地存储库

    git remote add repo1-origin https://github.com/Stophface/react-native-maps-0.20.1

  3. 将远程repo1-origin中的内容合并到您的本地分支(repo2)

    git pull repo1-origin [branch-name]

  4. OBS:rebase或简单合并都会保留你的git历史记录,但如果你想保留git log中的提交年表,我建议你做一下rebase:

    • git pull --rebase repo1-origin [branch-name]

    这样你就会合并两个内容