情景1: 拥有对子模块远程仓库权限,直接修改子模块路径中的文件
本地开发调试子模块结束后, 进入子模块路径 add, commit, push, 然后主项目 git add 子模块路径,git commit...这时会发现 new commits, git add 即可
情景2: 子模块对应的远程仓库有更新,本地子模块内容过时
本地进入子模块路径,git pull 子模块更新,然后返回主项目根目录, git...add 子模块路径, git commit
子模块实际上就是记录的一个 commit 引用,
# 添加子模块远程仓库引用,此时还没有对应的 commit
# 注意: 经过测试, 此步就会生成 .gitmodules..., .git/config 中 submodule 信息
git submodule add
# 此时确定 commit 引用
# PS: git submodule init...的时候,从 .gitmodules 读取子模块信息,然后生成配置文件到 .git 里
git submodule init
# 从远程检出子模块代码, 即下载 commit 引用 对应的文件内容
git