将 Git Repo 移动到它自己的子模块
Move Git Repo to submodule of itself
我已经将一个 (gui) 库 repo 克隆到一个本地 repo 中,现在我认为更好的结构是将它作为一个子模块,我的主要代码位于 parent directory/repo。
将存储库中当前存在的文件移动到 sub-module 存储库的最佳方法是什么?或者也许我应该添加一个回购协议作为 parent? (使用新名称保留现有名称和子模块)。
现在:
- 库回购 (Repo1)
之后:
我在 (Repo1) 中的代码
- (Repo1-Submodule1) 中的库回购
这是我目前在回购中没有自定义代码的简单情况。因此,目前居住在其中的所有东西都需要移动(或成为 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,而不是最初克隆的本地路径)
我已经将一个 (gui) 库 repo 克隆到一个本地 repo 中,现在我认为更好的结构是将它作为一个子模块,我的主要代码位于 parent directory/repo。
将存储库中当前存在的文件移动到 sub-module 存储库的最佳方法是什么?或者也许我应该添加一个回购协议作为 parent? (使用新名称保留现有名称和子模块)。
现在:
- 库回购 (Repo1)
之后:
我在 (Repo1) 中的代码
- (Repo1-Submodule1) 中的库回购
这是我目前在回购中没有自定义代码的简单情况。因此,目前居住在其中的所有东西都需要移动(或成为 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,而不是最初克隆的本地路径)