创建子模块
git submodule add git@gitee.com:hujingnb/submodule_son.git submodule_son
指定子项目地址, 后面的参数可以更改子模块的路径...由于git对于子模块的管理并不是基于分支, 而是基于commit id的. 这对于引用第三方库是可以理解的, 毕竟需要一个稳定的版本嘛. 但是对于公司这种需要频繁更新的项目, 就有些混乱了....这又该如何是好呢?
不同分支
对于这个问题, 我想了很久. 要想实现分支的正常管理, 还是应该不同环境对应不同的分支, 但是子模块只能指定commit id, 不能对应分支....如此一来, 那就只有一个办法, 不同分支指定不同的commit id, 这也是我能想到的最清楚,最符合流程的方式了. 也就是说, 子模块也切为dev, master两个分支, 也正常进行合并....先说一下我是如何制造冲突的:
父项目与子模块分别拉取分支: master_tmp
父项目与子模块切回master分支
子模块修改文件并提交, 父项目更新commit id
此时父子都回到master_tmp