git仓库中子模块的添加、删除、更新

如果你的项目中引用了远程其它人的项目,通常添加子模块将会非常便捷

子模块添加

git submodule add <url> <localPath>
其中url为子模块的远程仓库路径,localPath为该模块的本地存储路径
执行成功后,应该可以看到目录下的.gitmodules中添加了一个路径

克隆项目下载源码

克隆项目后,默认子目录下只有文件夹,里面是没有内容的。在仓库根目录执行

git submodule init 
git submodule update

或者

git submodule update --init --recursive

执行后,子模块目录下就有源码了

删除子模块

此操作略复杂

  1. 删除目录rm -rf 子模块目录

  2. 修改条目vim git modules,将相关条目行删除

  3. 删除配置vim .git/config,将配置文件中子模块相关配置删除

  4. 删除配置目录rm -rf .git/module/目录名 每个子模块对应一个目录,将对应模块名称的目录删除

执行完成后,删除仓库缓存

git rm --cached 子模块名称

更新子模块内容

git diff --cached 查看个性内容
git commit 提交即可