添加子仓库
git submodule add -b branchName --name AAA -- BBB CCC
#AAA: 子仓库名,可以是xxx,或xxx/xxx...
#BBB: 子仓库远程url,eg:http://xxxx.git
#CCC: 本地路径,可以是xxx,或xxx/xxx...,带路径时不能是./xxx...
#执行后会直接clone到指定目录
git commit -m "挂载子仓库"
git push origin master
更新/拉取子仓库
- 拉取主干仓库时直接附带拉取子仓库,如果有的话
git clone --recurse-submodules http://xxx.git
- 单独拉取子仓库
git submodule init [子仓库名] git submodule sync [子仓库名] git submodule update [子仓库名]
清除本地子仓库记录
如果子仓库拉取错误或者init,add等发生错误,有时会需要清楚本地已有记录重新操作:
1.删掉根目录.gitmodules中的错误记录
2.删除根目录.git/modules/下的错误记录