我有一个带有子模块(git)的父(git)项目。
但是,当我更新parent / develop分支中的子模块时,父/主分支还包含更新的子模块文件......
因此,虽然我想使用更新的子模块代码测试我的父代码,但更新子模块代码已经出现在主数据库......这可能会造成什么样的灾难。
我想要的是,如果我更新parent / develop分支中的子模块并切换到parent / master,我仍然会在更新之前看到子模块文件。只有在将开发合并到master之后,更新的子模块文件才会出现在master中。
如果我查看这篇文章:https://stackoverflow.com/a/17927655/2940885,看起来结论是子模块的文件未跟踪,因此出现在我结帐的任何分支中。
有任何线索吗?
答案 0 :(得分:3)
请参阅http://git-scm.com/book/en/Git-Tools-Submodules
切换包含子模块的分支也可能很棘手。如果您创建一个新分支,在那里添加一个子模块,然后切换回没有该子模块的分支,您仍然将子模块目录作为未跟踪的目录: ... 您必须将其移开或移除它,在这种情况下,您必须在切换时再次克隆它 - 您可能会丢失您没有推高的本地更改或分支。
=>所以,假设这就是它的方式..