我有两个单独的 git 存储库(在 BitBucket 中):Repo A
和 Repo B
。我想将 Repo B
移动到 Repo A
的子文件夹中。同时,我还需要确保 Repo B
中的提交历史等信息得以保留不丢失。
如何使用 git 实现这一目标?
要将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合并,同时包括一个额外的合并提交。
<prefix>
="My/Sub/Directory with spaces"
,它非常有效! - Chris这不是在BitBucket中完成的,而是使用git完成的。您需要执行以下步骤:
合并
您刚刚创建的提交。