ken*_*eth 61 git version-control git-clone git-submodules
如果你git clone
有--recursive
,你也可以得到所有的git子模块.
如果我忘记在克隆时添加这个神奇的旗帜,可能会发生,我现在如何去获取任何子模块?
此外,如何将递归标志设置为将来克隆的默认标志?
Ada*_*ruk 77
您可以在简单的顶级克隆之后执行此操作:
git submodule update --init --recursive
Run Code Online (Sandbox Code Playgroud)
我不建议默认情况下克隆执行此操作.如果您正在积极地使用子模块进行开发而不仅仅是链接到github上的第三方OSS库(您可以在蓝色月亮中升级一次),那么执行此操作的正确方法是使用git slave或子树.
希望这可以帮助.
Tim*_*her 10
从您的回购根:
$ git submodule update --init --recursive
Run Code Online (Sandbox Code Playgroud)
这将更新任何和所有已注册的子模块,如果需要将其初始化为.gitmodules文件中的值,并且还可以递归到复杂的子模块(具有自己的子模块的子模块)并初始化和更新它们.
我知道以递归方式进行克隆的最简单方法是默认git clone
使用别名进行阴影处理
$ git config --global alias.clone = 'clone --recursive'
Run Code Online (Sandbox Code Playgroud)
至于总是添加选项,我认为这是惯用法.