递归到一个git回购

如果你git clone--recursive ,你可以得到所有的git的子模块了。

如果我忘记在克隆时添加这个神奇的旗帜,可能会发生,我现在该如何去获取任何子模块?

另外,如何将递归标志设置为未来克隆的默认值?


你可以在简单的顶级克隆之后用它做到这一点:

git submodule update --init --recursive

我不建议做克隆默认做这个。 如果您正在积极使用子模块进行开发,而不仅仅是链接到github上的第三方OSS库(您可以在蓝色月亮中升级一次),那么正确的做法是使用git slave或subtree。

希望这可以帮助。


  • 从您的回购的根源:

    $ git submodule update --init --recursive
    

    这将更新任何和所有已注册的子模块,如果需要将其初始化为在.gitmodules文件中找到的值,并且还将复制到复杂子模块(具有自己的子模块的子模块)中,并初始化并更新它们。

  • 我知道以递归方式克隆默认值的最简单方法是将git clone与别名混合使用

    $ git config --global alias.clone = 'clone --recursive'
    

    至于总是添加选项,我认为这是惯用的方法。


  • IIRC, git submodule initgit submodule update

    不幸的是,我没有看到默认启用递归的选项。

    链接地址: http://www.djcxy.com/p/92403.html

    上一篇: recursive to a git repo

    下一篇: Git submodule inside of a submodule (nested submodules)