我有一个包含多个子模块的git仓库。其中一个子模块又有多个自己的子模块。我想要做的只是在主仓库上检出一个旧的提交,并使它检出所有子模块的适当提交,以获取该时刻代码的正确状态。
我知道git包含必要的信息,因为ls-tree命令可以告诉我每个子模块在哪个提交上。然而,我必须手动检出每一个子模块,这非常耗时。
我正在寻找类似于“git checkout --recursive”的东西,但这样的命令似乎不存在。
有没有办法做到这一点?
我知道git包含必要的信息,因为ls-tree命令可以告诉我每个子模块在哪个提交上。然而,我必须手动检出每一个子模块,这非常耗时。
我正在寻找类似于“git checkout --recursive”的东西,但这样的命令似乎不存在。
有没有办法做到这一点?
git checkout --recurse-submodules
现在已经存在(2017年)。但是只有即将发布的 Git 2.14 才能使其正常工作。请参见 下面我的答案。 - VonC