如何更新 git 子模块?

How to update the git submodule?

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

一个项目是第二个项目的子模块。问题是当我在主项目中提取更改时,更改子模块没有被提取。

也许应该是,还是我做错了什么?
当您升级一个项目 并且 拉取第二个项目的更改时,我该怎么做?

The problem is that when I pull changes in the main project, the changes submodule not pull

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

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

git submodule update --init --remote

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