Git 子模块与 SVN 仓库使用全解析
1. 子文件夹转换为子模块
在项目管理中,将子文件夹转换为真正的子模块是一项常见操作。由于大多数系统即使在单体仓库中也已有子目录结构,这为子模块的转换提供了便利。以下是将子文件夹转换为子模块的具体步骤:
1.移动子目录:将子目录从超级项目中移出,使其与超级项目目录处于同级。若要保留仓库历史记录,可使用git filter - branch辅助提取子目录结构。
2.重命名子模块目录:为了更准确地表达子模块的性质,对即将成为子模块的目录进行重命名。例如,可将refresh子目录重命名为client - app - refresh - plug - in。
3.创建上游托管:为子模块创建一个全新的上游托管项目,例如在 GitHub 上创建一个新项目来托管提取的代码。
4.初始化并推送:将独立的插件初始化为一个 Git 仓库,并将提交推送到新创建的项目托管 URL。
5.添加子模块:在超级项目中添加一个 Git 子模块,使其指向新的子模块项目 URL。
6.提交并推送超级项目:这一步会包含新创建的.gitmodules文件。
graph LR A[移动子目