在公司的项目中, 经常会遇到一些公共的内容, 多个项目中间通用的, 不可能每次都将整个代码复制一遍, 遇到这种情况有很多不同的解决方案, 一般来说, 项目是通过 git 来管理的, 巧了, git 也同样支持子模块...由于git对于子模块的管理并不是基于分支, 而是基于commit id的. 这对于引用第三方库是可以理解的, 毕竟需要一个稳定的版本嘛. 但是对于公司这种需要频繁更新的项目, 就有些混乱了....如此一来, 那就只有一个办法, 不同分支指定不同的commit id, 这也是我能想到的最清楚,最符合流程的方式了. 也就是说, 子模块也切为dev, master两个分支, 也正常进行合并....而对于父项目来说, 将子项目切换到不同的分支, 每次提交之后, 将子模块分支拉取到最新, 然后将commit id提上去, 不就解决了么......将子模块分支切到master: git checkout master
将子模块产生冲突的提交新建一个分支: git branch merge_tmp a8f5f8c
将子项目合并到master: git