将git回购合并为子项

将git回购合并为子项,git,Git,我有三个关于git回购的DIR: -dir1 -dir2 -dir3 我想把dir1和dir2移动到dir3中: -dir3 -dir1 -dir2 如何将git回购从dir1和dir2合并到dir3? 我需要在dir3历史记录中保存dir1和dir2 vcs提交您可以在这里使用git子树 首先,您必须通过获取存储库历史来读取它们 ../dir3 $ git remote add rdir1 ../dir1 ../dir3 $ git fetch rdir1 然后将远程数据库的子树添加

我有三个关于git回购的DIR:

-dir1
-dir2
-dir3
我想把dir1和dir2移动到dir3中:

-dir3
 -dir1
 -dir2
如何将git回购从dir1和dir2合并到dir3?
我需要在dir3历史记录中保存dir1和dir2 vcs提交

您可以在这里使用git子树

首先,您必须通过获取存储库历史来读取它们

../dir3 $ git remote add rdir1 ../dir1
../dir3 $ git fetch rdir1
然后将远程数据库的子树添加到存储库中

../dir3 $ git switch master
../dir3 $ git subtree add -P dir1 rdir1/master
这将获取远程分支的树
rdir1/master
,并将其设置为本地路径
dir1
,因此它将成为dir3 repo的子树

然后在完成后清理遥控器

../dir3 $ git remote remove rdir1

对您希望导入的任何其他回购重复上述操作。

不完全确定您的要求。您有3个git存储库,您试图将这些存储库移动到另一个存储库中,同时保留原始存储库的历史记录?git子树?我有3个不同的代码模块,具有不同的repo。然后我想在不丢失提交历史记录的情况下将两个模块传输到第三个模块。我可以用git子树做这个吗?我最初将git子树理解为嵌套的存储库,而不是如何在父级中包含存储库。