Git:将存储库移动到另一个存储库

时间:2017-11-29 18:56:35

标签: git bitbucket

我有两个单独的git存储库(在BitBucket中),Repo ARepo B。我想将Repo B移到Repo A的子文件夹中。我还需要确保Repo B中的提交历史记录等被保留并且不会丢失。

如何使用git实现这一目标?

2 个答案:

答案 0 :(得分:5)

要将Repo B合并为Repo A作为子文件夹,请在Repo A中运行此命令;

git subtree add -P <prefix> <repo> <rev>

<prefix>设置为子目录的名称,将<repo>设置为Repo B的克隆URL,将<rev>设置为所需的Repo B修订版(如果是最新的则为HEAD)

这将采用Repo B的历史并将其与Repo A合并,以及额外的合并提交。

答案 1 :(得分:1)

它不是在BitBucket中完成的,它是使用git完成的。您需要执行以下步骤:

  • 将回购B提取到一个克隆的回购中.Git可能会警告你这个,但仍然这样做。
  • 签出提取的代码(此时您将只拥有来自repo B的代码)并将其全部移动到您想要的子文件夹中。承诺。
  • 再次检查您的回购A代码并merge您刚刚创建的提交。