配置git以在克隆存储库上使用--recurse-submodules

时间:2017-08-29 10:23:41

标签: git recursion command-line

如何在克隆存储库期间配置git以使用--recurse-submodules参数?

我知道我可以创建一个名称不同的别名

proper-clone = clone --recurse-submodules

但我希望继续使用git clone URL-to-repository,而不是git proper-clone URL-to-repository

我尝试设置别名

clone-base = clone clone = clone-base --recurse-submodules

但它未能改变git行为

2 个答案:

答案 0 :(得分:2)

我不相信这是可能的。默认情况下,您可以配置fetch(和pull)进行递归,但不能克隆的这个特定选项:(

您也无法使用"别名"来覆盖命令,因此您无法改变" git clone"的行为。但正如你所提到的,你可以做一个" git myclone"别名。

我能想到的另一个建议是在bash中使用别名(如果你使用的是Linux) - 你可以使用别名" git"使用你自己的名为" git"并在安装真正的git之前将其添加到您的路径中,并且您的脚本可以执行下面的工作来捕获任何" clone"并插入" - recurse-submodules"在那个剧本中。

答案 1 :(得分:0)

别名不是递归的(别名只展开一次)所以这个别名应该有效:

clone = clone --recurse-submodules

或者你可以跳过shell:

clone = !exec /usr/lib/git-core/git-clone --recurse-submodules

请注意直接使用git-clone代替git clone,因为在这种情况下,别名 递归,您可以轻松创建无限循环。