我正在尝试将大约15个本地git文件夹(包含子文件夹和文件)/ 15个存储库合并到1个超级文件夹/ 1个超级存储库中,同时保持每个本地文件夹git历史记录和与其各自存储库的关系(成为子文件夹) git上的文件夹。)
这可能吗?为实现这一目标需要采取哪些步骤?
答案 0 :(得分:2)
您应该采用Git submodule方式。
首先,只需创建一个简单的git存储库。然后,使用以下命令(来自主repo根目录)添加要合并的每个git文件夹:
git submodule add repo_url local_path
每个 git子模块都会保留自己的历史记录。
答案 1 :(得分:1)
您可能需要查看Android开发中使用的repo工具。 android源代码树由许多使用repo捆绑在一起的git存储库组成。了解如何配置repo XML配置文件可能很棘手,但Android树应该提供一个有用的示例。
答案 2 :(得分:0)
您可以通过为每个存储库分别设置独立分支,将所有这些存储库合并为一个存储库。这也意味着您将为所有存储库共享相同的对象数据库,从而消除冗余。但这也意味着你不能单独使用单个子存储库而不需要使用其他大型存储库。
请注意,通常,建议将存储库分开。这也不是一个问题。最好的例子是GitHub的Gist,它们为每个 Gist提供了单独的存储库,尽管它们中的大多数只包含一个文件。
所以不要花时间尝试将这些(可能不是那些相关的)存储库结合起来;只需单独使用它们。