如何检出git repo及其子模块?
例如我有一个回购A,带有一个子模块B,提交历史如下:
我想暂时回到A的旧版本,所以我在A和B中隐藏了本地更改,然后隐藏了git checkout 0ec21a1
但是我仍然在子模块的最新版本上。我希望子模块根据父版本进行更新。我从这个问题submodule tag的理解是,结帐父项时git不管理子模块,这是正确的吗?
我的实际提交历史更加复杂,并且有几个子模块。有没有办法确定在A的提交xxx中使用了哪个版本的子模块B?我可以通过比较git日志来获得大概的版本,但这很痛苦...
答案 0 :(得分:1)
git checkout 0ec21a1 --recurse-submodules
将根据存储在父项目A中的提交更新子模块B的内容(如果已经初始化)(在这种情况下,将检出e79fea0
)