Git 子模块与 SVN 仓库使用指南
1. Git 子模块的提取与操作
在项目管理中,子模块通常以超级项目的子目录形式呈现,并且无法将文件集合并到单个目录中。根据实际经验,多数系统即便在单一仓库中也已有子目录结构,这是最基础的模块化形式。因此,将子文件夹转换并提取为真正的子模块相对容易,可按以下步骤操作:
1.移动子目录:将子目录从超级项目中移出,使其与超级项目目录处于同级。若要保留仓库历史记录,可考虑使用git filter-branch来辅助提取子目录结构。
2.重命名子模块目录:为更准确地体现子模块的性质,对即将成为子模块的目录进行重命名。例如,可将refresh子目录重命名为client-app-refresh-plug-in。
3.创建新的上游托管:将子模块作为一级项目创建新的上游托管(如在 GitHub 上创建新项目来托管提取的代码)。
4.初始化并推送:将独立的插件初始化为 Git 仓库,并将提交推送到新创建的项目托管 URL。
5.添加子模块:在超级项目中添加 Git 子模块,指向新的子模块项目 URL。
6.提交并推送超级项目:提交并推送超级项目,其中将包含新创建的.gitmodules文件。