0

我正在尝试将大约 15 个本地 git 文件夹(带有子文件夹和文件)/15 个存储库合并到 1 个超级文件夹/1 个超级存储库中,同时维护每个本地文件夹 git 历史记录及其与其各自存储库的关系(成为 git 上的子文件夹) .

这可能吗?实现这一目标需要采取哪些步骤?

4

3 回答 3

2

你应该有一个Git 子模块方法。

首先,只需创建一个简单的 git 存储库。然后,使用以下命令(从主 repo 根目录)添加要合并的每个 git 文件夹:

git submodule add repo_url local_path

每个git 子模块都将保留自己的历史记录。

于 2013-05-15T10:34:20.857 回答
1

您可能想看看Android 开发中使用的repo工具。android 源代码树由许多使用 repo 捆绑在一起的 git 存储库组成。找出如何配置 repo XML 配置文件可能很棘手,但 Android 树应该提供一个有用的示例。

于 2013-05-15T11:00:22.937 回答
0

您可以通过为每个存储库分别设置一组独立的分支,将所有这些存储库组合成一个存储库。这也意味着您将为所有存储库共享相同的对象数据库,从而消除冗余。但这也意味着你不能真正单独使用单个子存储库,而不使用其余的大存储库。

请注意,一般来说,建议将存储库分开。这也不是问题。最好的例子是 GitHub 的 Gist,其中每个Gist都有单独的存储库,尽管其中大多数只包含一个文件。

所以不要花时间尝试组合那些(可能不相关的)存储库;只需单独使用它们。

于 2013-05-15T11:11:05.607 回答