如何将现有代码库拆分为 git 个子模块
How to part out an existing codebase to git submodules
我正在将所有旧的可用代码转换为 git 存储库。这既是战术问题,也是战略问题。
所以我在 Github 上创建了一个名为 HomeBase 的新空白存储库(它现在是私有的)。然后我做了一个 git clone
将这个空白的 repo 拉到我的本地。
然后我将我的 "Home Base" PHP 项目的所有文件复制到那个文件夹中,清理了一些,使用 SourceTree 提交,并在 [=28 上推送到 master =].
现在,我想把项目中的某些子文件夹(在几个项目中使用相同),并将它们变成子模块和独立的 git repos(同样,它们被其他项目使用相同所以他们基本上是 'third party libraries')。子文件夹包含从 PHP 实用工具到 javascript 库的所有内容。
我的问题是如何从 HomeBase 存储库中删除这些子文件夹,创建新的存储库并填充相应的文件,然后将它们重新link到 HomeBase 存储库。我需要并感谢有关具体步骤和策略的帮助。谢谢
所以您的问题需要执行以下几个步骤:
删除子文件夹:git rm -r subfolder_name
并创建您想要的单独存储库。然后,您可以将文件从 GitHub 添加到此存储库(更容易学习曲线)。如果您想从 CLI(命令行界面)运行 执行以下操作:
2.a 运行 以下代码来自您希望创建 repostiory 的目录
git init
git add *
git commit -m 'first commit'
git remote add origin git@github.com:username/repo_name.git
git push -u origin master
- 转到您的 HomeBase 存储库,它将存储其他 git 子模块和 运行
git submodule add <path_to_other_repos>"
瞧,您应该拥有您想要的具有 link 的子模块到其他存储库。
我正在将所有旧的可用代码转换为 git 存储库。这既是战术问题,也是战略问题。
所以我在 Github 上创建了一个名为 HomeBase 的新空白存储库(它现在是私有的)。然后我做了一个 git clone
将这个空白的 repo 拉到我的本地。
然后我将我的 "Home Base" PHP 项目的所有文件复制到那个文件夹中,清理了一些,使用 SourceTree 提交,并在 [=28 上推送到 master =].
现在,我想把项目中的某些子文件夹(在几个项目中使用相同),并将它们变成子模块和独立的 git repos(同样,它们被其他项目使用相同所以他们基本上是 'third party libraries')。子文件夹包含从 PHP 实用工具到 javascript 库的所有内容。
我的问题是如何从 HomeBase 存储库中删除这些子文件夹,创建新的存储库并填充相应的文件,然后将它们重新link到 HomeBase 存储库。我需要并感谢有关具体步骤和策略的帮助。谢谢
所以您的问题需要执行以下几个步骤:
删除子文件夹:
git rm -r subfolder_name
并创建您想要的单独存储库。然后,您可以将文件从 GitHub 添加到此存储库(更容易学习曲线)。如果您想从 CLI(命令行界面)运行 执行以下操作:
2.a 运行 以下代码来自您希望创建 repostiory 的目录
git init
git add *
git commit -m 'first commit'
git remote add origin git@github.com:username/repo_name.git
git push -u origin master
- 转到您的 HomeBase 存储库,它将存储其他 git 子模块和 运行
git submodule add <path_to_other_repos>"
瞧,您应该拥有您想要的具有 link 的子模块到其他存储库。