我在找到这个问题的答案时遇到了问题,所以我将其发布以供后代使用。
情况是,您有一个带有子模块的 git 存储库(类似于 svn 外部)。您想要更新该引用以指向外部存储库中的不同提交。您可能认为“git submodule sync”或“git submodule update”会执行此操作——您错了。
最佳答案
步骤是:
- cd 到子模块所在的实际目录。
- 运行“git pull origin”或任何您想将其设置为新提交的操作。
- cd 离开该目录(大概是到存储库根目录)并运行“git status”——您将看到该目录已更改。如果你做一个差异你会看到这样的东西:
diff --git a/default/bin/hdvcs b/default/bin/hdvcs index bbd3f56..7c9394c 160000 --- a/default/bin/hdvcs +++ b/default/bin/hdvcs @@ -1 +1 @@ -Subproject commit bbd3f56898054e533e81b52b90b94155841b40a8 +Subproject commit 7c9394c8520e41a704e6658360064758b20a3dfc
- 提交此更改。
关于git - 如何将 git 中的子模块更新为该外部仓库中的 HEAD 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277333/