将多个独立的 git 存储库合并到一个根文件夹下

Combine several independent git repositories under one root folder

我想将几个主题相关但在其他方面独立的存储库合并到一个根文件夹下,同时保持它们的历史独立。

最终结果应该是这样的

root
   >repo1
      >.git
      >...
   >repo2
      >.git
      >...

或者这个。

root
   >.git
   >repo1
      >.git
      >...
   >repo2
      >.git
      >...

我希望能够从 github 下载或克隆根集合并在本地准确获取该结构。

我更喜欢第一种解决方案 - 但它是否可行以及如何实现?

您可以按照 https://git-scm.com/book/en/v2/Git-Tools-Submodules 中的描述使用子模块。这将是第二种方法。我会向您推荐此选项。

如果你想要第一个选项,你需要编写一个脚本来生成这种结构。您不能将第一个解决方案推送到 github,因为根文件夹不是 git 存储库。