git submodule
给项目增加submodule
git submodule add https://github.com/chaconinc/DbConnector
———————
克隆主项目时默认不会将submodule一起克隆
克隆主项目后,需要:
git submodule init
git submodule update
或者:
主项目克隆时直接把submodules一起克隆
git clone –recurse-submodules https://github.com/chaconinc/MainProject
———————
从远程获取更新
进入submodule,
git fetch
git merge origin/master
配置git pull时同时拉取submodule(全局)
git config –global submodule.recurse true
自动合并,默认是master分支,如果不加merge 或rebase,会指向一个detached ID:
git submodule update –remote
git submodule update –remote –merge
git submodule update –remote –rebase
不使用master ,使用其他分支更新,比如dev分支
git config -f .gitmodules submodule.DbConnector.branch dev
git submodule update –remote
————————
git diff 时同时显示submodule的差异:
git config –global diff.submodule log
————————
删除: git submodule deinit –force usr/plugins/BaiduSubmit
————————
push:
主项目push时把module也自动push
git push –recurse-submodules=on-demand
或者配置
git config push.recurseSubmodules on-demand
不自动push,仅提示
git push –recurse-submodules=check
git config push.recurseSubmodules check
仅push module,不push主项目
–recurse-submodules=only
————————