git 上游子模块更新

git submodule update upstream

我有一个包含子模块的超级项目(Overleaf 项目)。我对子模块进行了更改,但它们没有出现在超级项目中。我想更新超级项目以反映对子模块的最新提交。我的理解是 git submodule update 作用于子模块以从超级项目中获取最新的提交,但我该如何做相反的事情?

当我在超级项目中 运行 git submodule update --remote 它告诉我没有发现任何变化

首先,请确保使用最新的Git 2.31或更高版本,因为git submodule had some issues before, including when .

其次,尝试指定 branch you want your submodule to track

cd /path/to/your/parent/repo
git config -f .gitmodules submodule.<path>.branch <branch>

并确保您的子模块实际上是该分支的最新版本:

cd path/to/your/submodule
git checkout -b branch --track origin/branch
# if the master branch already exist:
git branch -u origin/master master

然后重试:

  • 在 Overleaf 的另一个克隆存储库中进行新提交,并推送它
  • 在超级项目中尝试git submodule update --remote