1. 在.gitmodules文件中修改所要更新的子模块的源的url
2. git commit & push更新远程仓库
3. 拉取子模块更新后的源。cd .git 进入.git文件夹
cat config看到.git中子模块的源还是原来的,vim config编辑改为更新后的源。
4. cd 子模块所在目录。 git branch看到当前所在的分支变成了head datached(游离)了。新建并切换到一个新的分支,在git pull拉取更新后的源到新的分支上,并删除原来的分支。
5. cd ../ 回到上级目录 git status 此时git会认为子模块的内容发生了变化需要commit。但是这是个子模块,其中的内容并不能包含在仓库内。运行git submodules update更新子模块。再输入git status 就不会出现子模块需要commit的提示了。