将git跟踪的不同项目移动到一个存储库中

将git跟踪的不同项目移动到一个存储库中,git,version-control,Git,Version Control,我在一个目录中有几个密切相关的项目,我希望使用相同的git存储库来跟踪它们 现在我有两个目录,thing1和thing2,在父目录things中。每个目录都有自己的.git。我想在things目录中有一个.git,它包含thing1和thing2的所有历史记录 我的问题基本上与相同,但有两个(或通常任意数量的)目录而不是一个。使用过滤器分支将回购中的所有历史移动到您希望它们在结果存储库中的位置。在其中一个回购协议中,添加指向另一个回购协议的遥控器。抓取一次,你会把两个都放在同一个里面。您将为每个

我在一个目录中有几个密切相关的项目,我希望使用相同的git存储库来跟踪它们

现在我有两个目录,
thing1
thing2
,在父目录
things
中。每个目录都有自己的
.git
。我想在
things
目录中有一个
.git
,它包含
thing1
thing2
的所有历史记录


我的问题基本上与相同,但有两个(或通常任意数量的)目录而不是一个。

使用
过滤器分支
将回购中的所有历史移动到您希望它们在结果存储库中的位置。在其中一个回购协议中,添加指向另一个回购协议的遥控器。抓取一次,你会把两个都放在同一个里面。您将为每个项目中的工作设置单独的分支。进行合并,从那时起,您将在一个公共分支中跟踪对这两个分支的更改—如果您希望这样做的话


希望这能有所帮助。

您能指出一些有关
git filter branch
的文档吗?我认为在您的案例中根本不需要filter branch。按照亚当从第二句开始所说的去做。我是一个极端的新手。“添加遥控器”是什么意思?我应该使用什么类型的合并?您确实希望执行筛选器分支,因为您可能有一些文件被称为相同的东西。筛选器分支将允许您将整个历史记录移动到更深一层。添加远程是注册另一个存储库的url或文件位置,以便您可以将更改从当前存储库推送到另一个存储库。请参阅git remote的手册页面。这与stackoverflow的[This][1]问题非常相似。[1]: