子模块的使用
参考git子模块。
在一个git项目中添加子模块:
git submodule add git@mine.gitlab.com:test/test-webserver.git
克隆时将子项目也一并克隆:
git clone --recurse-submodules git@mine.gitlab.com:test/test.git
设置子模块的分支:
git config -f .gitmodules submodule.test-webserver.branch master
设置在执行git status
时一并显示子模块的信息:
git config --global status.submodulesummary 1
拉取所有子模块的上游更改,也可以在命令最后追加一个子模块的名字指定更新某个子模块:
git submodule update --remote
在推送时需要把子模块的更新也一并推送。
协助者拉取更新:
git pull
git submodule update --init --recursive
有时候虽然父项目使用的是 http 协议,但是子模块配置的还是 git 协议,这样子模块就无法同步了,此时需要更改.gitmodules
文件,然后清除配置缓存:
git submodule deinit --all -f
然后再更新子模块:
git submodule update --init --recursive