Git - 无法在GitHub上更新子模块分离的HEAD

时间:2015-12-14 12:01:28

标签: git github

我注意到在我的GitHub回购中,我的子模块指向它的第一个提交sha1,例如aaaaaaa

好的,我递归地克隆它:

git clone --recursive https://github.com/etc

如果此时{i} cd为子模块的目录,Git会指出我在aaaaaaa提交。

然后,我更新子模块(返回父目录):

git submodule update --remote

如果我再次访问子模块的目录,HEAD会更新,指向最新的提交sha1,例如bbbbbbb

但我无法在GitHub存储库中反映这一变化。我已经尝试修改提交,强制推送,没有结果。

1 个答案:

答案 0 :(得分:2)

这里的要点是,使用子模块,您可以使用两个或更多个git存储库,其中子模块几乎独立于" main"模块。

那"主要"模块不仅具有对其子模块的引用,还具有对提交和分支的引用。

更新子模块后,您必须告诉" main"从现在开始,您希望它引用该新提交的模块。

所以,你要做的最后一步是:

cd $MainRepoPath
git add $SubmodulePath
git commit
git push $remote $branch