参考文档:
http://qiita.com/sotarok/items/0d525e568a6088f6f6bb
https://chrisjean.com/git-submodules-adding-using-removing-and-updating/
有时候项目A需要使用项目B作为自己的子模块,而B也是由其他团队开发维护的独立的项目。
简单的将项目B中的内容复制过来将会失去对项目B的跟进,这时候就可以用submodule的方式将项目B引用近来。
Add submodule B
项目A执行:git submodule add https://github.com/path/to/B.git path/to/B
会在本地创建path/toB目录,并将https://github.com/path/to/B.git的内容clone到path/to/B目录中,和git clone差不多。
完成后,submodule B的信息会记录在项目A的根目录.gitmodules文件中。
项目A执行:git status 会提示.gitmodules文件和path/to/B目录有新建或更新。
项目A执行:git commit -m "说明" 提交新建和更新内容。
项目A执行:git push 推送到服务器。
更新 submodule B
进入项目A的B子目录中,就象普通项目一样执行git pull或git checkout操作。
完成后,回到项目A,执行:git status 会提示 path/to/B 有更新。
项目A执行:git commit 和 git push 提交更新。