2017-08-29 153 views
0

如何在克隆存储库期间将git配置为使用--recurse-submodules参数?配置git以在克隆存储库时使用--recurse子模块

我知道我可以用不同的名称

proper-clone = clone --recurse-submodules

创建别名,但我想用git clone URL-to-repository,不git proper-clone URL-to-repository保持。

我试着设置别名

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

,但它未能改变混帐行为

+0

Git别名总是依赖像(push,clone)这样的管道命令,因此它们不能被覆盖。 –

回答

2

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

您也不能用“别名”覆盖命令,所以你不能改变“git克隆“,但你可以,如你所说,做一个”git myclone“的别名。

唯一的另一个建议,我能想到的是在bash中别名(如果你使用Linux) - 你可以别名”git“使用你自己的叫做“git”的脚本,并在你安装真正的git之前把它添加到你的路径中,你的脚本可以做下面的工作来捕获任何“克隆”,并在那个脚本中插入“--recurse-submodules”。

+0

'您可以配置获取(并拉)默认情况下递归,但不克隆这个特定选项现在我想知道任何有关git问题跟踪器的功能请求。 –

+1

@MateuszKonieczny它可能是,我没看......但在git中的命令有很多参数我不知道他们是否会一直添加一个配置参数,或者如果他们应该只是支持可配置的所有参数的默认值 - 不知道要花多少努力...... :) –

0

别名不是递归的(别名只是exp相与一次),所以这个别名应该工作:

clone = clone --recurse-submodules 

或者您也可以通过外壳跳:

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

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