如果你把git clone和--recursive组合在一起,你也可以得到所有的git子模块。如果我在克隆时忘记添加这个神奇的标志(可能会发生),我现在如何去获取任何子模块呢?另外,如何将递归标志设置为将来克隆的默认值?
git clone
--recursive
siotufzp1#
您可以在简单的顶级克隆之后使用以下命令执行此操作:
git submodule update --init --recursive
我不建议默认clone这样做,如果你正在积极地使用子模块进行开发,而不仅仅是链接到github上的第三方OSS库(你可能会在一个蓝色的月亮上升级一次),正确的方法是使用git slave或subtree。
b4qexyjb2#
1.从回购协议的根源:
$ git submodule update --init --recursive
这将更新所有已注册的子模块,如果需要的话,将它们初始化为.gitmodules文件中的值,并且递归到复杂的子模块(有自己的子模块的子模块),并初始化和更新它们。1.据我所知,将递归克隆设置为默认值的最简单方法是使用别名隐藏git clone
$ git config --global alias.clone = 'clone --recursive'
至于总是添加选项,我认为这是惯用的方法。
b1uwtaje3#
国际红十字委员会,一个月一个月,一个月一个月不幸的是,我没有看到默认情况下启用递归的选项。
6rqinv9w4#
看起来您不能用别名“clone”覆盖“clone”,所以它是一个新别名(Abizern的解决方案)或“--recursive”。Is it possible to override git command by git alias?
4条答案
按热度按时间siotufzp1#
您可以在简单的顶级克隆之后使用以下命令执行此操作:
我不建议默认clone这样做,如果你正在积极地使用子模块进行开发,而不仅仅是链接到github上的第三方OSS库(你可能会在一个蓝色的月亮上升级一次),正确的方法是使用git slave或subtree。
b4qexyjb2#
1.从回购协议的根源:
这将更新所有已注册的子模块,如果需要的话,将它们初始化为.gitmodules文件中的值,并且递归到复杂的子模块(有自己的子模块的子模块),并初始化和更新它们。
1.据我所知,将递归克隆设置为默认值的最简单方法是使用别名隐藏
git clone
至于总是添加选项,我认为这是惯用的方法。
b1uwtaje3#
国际红十字委员会,一个月一个月,一个月一个月
不幸的是,我没有看到默认情况下启用递归的选项。
6rqinv9w4#
看起来您不能用别名“clone”覆盖“clone”,所以它是一个新别名(Abizern的解决方案)或“--recursive”。
Is it possible to override git command by git alias?