将 Git Repo 移动到它自己的子模块

Move Git Repo to submodule of itself

我已经将一个 (gui) 库 repo 克隆到一个本地 repo 中,现在我认为更好的结构是将它作为一个子模块,我的主要代码位于 parent directory/repo。

将存储库中当前存在的文件移动到 sub-module 存储库的最佳方法是什么?或者也许我应该添加一个回购协议作为 parent? (使用新名称保留现有名称和子模块)。

现在:

之后:

这是我目前在回购中没有自定义代码的简单情况。因此,目前居住在其中的所有东西都需要移动(或成为 child 的 parent 回购)。

正确的设置是:

My Code in (Repo2)
    Library Repo in (Repo1-Submodule1)

含义:

  • 你保持 Library Repo 在 Repo1 不变,它在哪里。
  • 您为您的代码创建了一个 second 存储库。
  • 您将 Repo1 添加为 Repo2 中的子模块。

即:

cd Repo2
git submodule add -- /url/to/Repo1

(此处您将使用 Repo1 的 url,而不是最初克隆的本地路径)