我有一个带有子模块 (git) 的父 (git) 项目。
但是,当我更新父/开发分支中的子模块时,父/主分支也包含更新的子模块文件...
因此,虽然我想使用更新的子模块代码测试我的父代码,但更新子模块代码已经出现在 master 中......这可能会造成一场灾难......
我想要的是,如果我更新父/开发分支中的子模块并切换到父/主分支,我仍然可以看到更新之前的子模块文件。只有将develop merge 到master后,更新的子模块文件才会出现在master中。
如果我看这篇文章:https://stackoverflow.com/a/17927655/2940885 ,看来结论是子模块的文件未被跟踪,因此出现在我 checkout 的任何分支中。
这方面有什么线索吗?
最佳答案
参见http://git-scm.com/book/en/Git-Tools-Submodules
切换带有子模块的分支也可能很棘手。如果您创建一个新分支,在其中添加一个子模块,然后切换回没有该子模块的分支,则子模块目录仍然是未跟踪的目录: ... 您必须将其移开或删除,在这种情况下,当您切换回来时,您必须再次克隆它,并且您可能会丢失本地更改或未推送的分支。
=> 所以,假设事情就是这样..
关于每个分支的 git 子模块更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704667/