如果你git clone
有--recursive
,你也可以得到所有的 git 子模块。
如果我在克隆时忘记添加这个神奇的标志(可能发生),我现在该如何去获取任何子模块?
此外,如何将递归标志设置为未来克隆的默认值?
如果你git clone
有--recursive
,你也可以得到所有的 git 子模块。
如果我在克隆时忘记添加这个神奇的标志(可能发生),我现在该如何去获取任何子模块?
此外,如何将递归标志设置为未来克隆的默认值?
从您的回购的根目录:
$ git submodule update --init --recursive
这将更新所有已注册的子模块,如果需要将它们初始化为 .gitmodules 文件中的值,并且还递归到复杂的子模块(具有自己的子模块的子模块)并初始化和更新它们。
我所知道的使递归克隆成为默认值的最简单方法是git clone
使用别名隐藏
$ git config --global alias.clone = 'clone --recursive'
至于总是添加选项,我认为这是惯用的方法。
IIRC
git submodule init
,,,
git submodule update
不幸的是,我没有看到默认启用递归的选项。
看来你不能用别名“clone”覆盖“clone”,所以它是一个新的别名(Abizern 的解决方案)或“--recursive”。