Git子模块更新-头不';与git日志不匹配
当我拉取存储库并且子模块的提交已更改时,我很难让git的子模块正确更新。首先,我认为这个问题不同于这个问题,因为这个问题涉及到与某个分支机构保持联系的最新情况。我不希望分支上的最新提交,我希望在父存储库中指定提交 以下是我的设想: Git repoGit子模块更新-头不';与git日志不匹配,git,git-submodules,git-commit,Git,Git Submodules,Git Commit,当我拉取存储库并且子模块的提交已更改时,我很难让git的子模块正确更新。首先,我认为这个问题不同于这个问题,因为这个问题涉及到与某个分支机构保持联系的最新情况。我不希望分支上的最新提交,我希望在父存储库中指定提交 以下是我的设想: Git repoA将repoB作为子模块。RepoA将子模块B列为正在提交abc 然后,在repoA内部,我执行一个git pull并接收一个新的repoA提交。这个新的提交声明子模块B现在应该处于提交def状态。我运行一个git子模块更新,以确保所有内容都是最新的
A
将repoB
作为子模块。RepoA
将子模块B
列为正在提交abc
然后,在repoA
内部,我执行一个git pull
并接收一个新的repoA
提交。这个新的提交声明子模块B
现在应该处于提交def
状态。我运行一个git子模块更新
,以确保所有内容都是最新的
现在问题来了。
我将cd
放入子模块B
并运行git status
。它报告在abc分离的头部
。嗯,那不对,它应该在def
上但这里有一个令人困惑的部分-我运行了git日志
,它列出的第一个提交是def
,前面是abc
这怎么可能?git日志不应该总是以头开始吗?如果它知道新的提交,为什么工作副本没有更新以反映这一点?
即使在将子模块置于上述状态后,我也不知道什么git submodule…
命令(如果有)会将B
的头部移动到bcd
。我找到的唯一修复方法是将cd
放入B
并手动运行git checkout bcd
救命啊!我想在repoa
中使用一个git pull
来更新子模块B
到提交,如a
所示,您可以有选择地关闭子模块更新,您是否这样做并忘记了git config——列出
并查找子模块更新选项。您可以有选择地关闭子模块更新,是否这样做并忘记了git config——列出
并查找子模块更新选项。