每个分支的 git 子模块更新

标签 git branch git-submodules

我有一个带有子模块 (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/

相关文章:

ruby - 为什么我的 Ruby Git 脚本 Hook 使用错误的 $PATH 运行?

version-control - TFS 分支模型支持长 QA(系统测试)周期

git 删除旧分支与 --no-ff merge

ios - Git 子模块与 iOS/Mac 框架

python - pip 连接失败 : cannot fetch index base URL http://pypi. python.org/simple/

git - 如何处理 Jenkins 上提升的冲突分支

ruby-on-rails - Openshift 上的 Ruby "bundle install"错误

merge 命名分支上的变更日志,但不是未 merge 的

Git 子模块校验错误 : "fatal: reference is not a tree"

Git:多个项目可以使用相同的子模块工作副本吗?