举个例子, 经常会有多个任务并行执行的情况, 如果有些任务后开发, 又需要先行合到生产环境, 可能会提交了较新的commit id上去. 故而并不像分支管理一样, 直接拉取分支即可....而对于父项目来说, 将子项目切换到不同的分支, 每次提交之后, 将子模块分支拉取到最新, 然后将commit id提上去, 不就解决了么......先说一下我是如何制造冲突的:
父项目与子模块分别拉取分支: master_tmp
父项目与子模块切回master分支
子模块修改文件并提交, 父项目更新commit id
此时父子都回到master_tmp...分支, 修改同一行内容,并提交commit id
将父项目master_tmp合并到master分支
此时冲突如下:
?...将子模块分支切到master: git checkout master
将子模块产生冲突的提交新建一个分支: git branch merge_tmp a8f5f8c
将子项目合并到master: git