【git】git子模块操作-添加子模块与克隆子模块
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97
git submodule update --init --recursive
1.为当前仓库添加子模块
1.1 添加submodule-git submodule add ***
(1)示例-
git submodule add https://github.com/chaconinc/DbConnector
;
(2) 可以添加多个submodule;
1.2 查看添加submodule后的状态-git status
(1) 注意.gitmodules文件的引入;
1.3 对比添加submodule前后的不同-git diff --cached ***或git diff --cached --submodule
(1) 示例-git diff --cached DbConnector
;
1.4 提交改动-git commit -am 'commit message info'
1.5 推送更改-git push origin master
2.克隆含有子模块的项目
2.1 git clone *** (***为含有子模块的项目)
(1) 示例-git clone https://github.com/chaconinc/MainProject;
(2) 此时,clone下来的项目中虽然包含子模块目录,但是子模块目录是空的;
2.2 git submodule init-初始化本地配置文件
2.3 git sumodule update-从项目中抓取所有数据并检出父项目中列出的合适的提交
(1) 此时,子目录中的内容已经抓取下来了;
注意:2.1,2.2和2.3可用git clone --recurse-submodules *** (***为含有子模块的项目)代替;