如何更新git子模块?

时间:2015-02-24 08:02:16

标签: git git-submodules

我有2个项目。 " MyProg"和" SubProj"。
这两个项目都在Bitbucket上。

一个项目是第二个的子模块。问题是,当我在主项目中提取更改时,不会拉动更改子模块。

也许它应该是,或者我做错了什么? 升级一个项目拉动第二个项目的更改时,我该怎么做?

1 个答案:

答案 0 :(得分:1)

  

问题在于,当我在主项目中提取更改时,更改子模块不会拉

不要忘记子模块是对SHA1的固定引用:它是 gitlink special entry in the index

除非您将子模块配置为跟随分支,否则它不会移动 (参见" git submodule tracking latest"和" Git submodule new version update")
在这种情况下,这将更新它:

git submodule update --init --remote

如果子模块更新为更新的SHA1,请不要忘记添加,提交和推送(在父仓库中)新引用。