我可以在.gitconfig中设置git clone使用fetch recurseSubmodules吗?

5

有没有一种方法可以在.gitconfig中设置自动添加--recurse-submodules标志来进行git clone?我尝试在.gitconfig中添加以下内容:

[fetch]
    recurseSubmodules = true

但是它不起作用。
$ git clone upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.

我需要添加--recurse-submodule标志。

$ git clone --recurse-submodule upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.
Submodule 'euca2ools' (https://github.com/eucalyptus/euca2ools.git) registered for path 'euca2ools'
Cloning into 'euca2ools'...
remote: Counting objects: 19147, done.
remote: Total 19147 (delta 0), reused 0 (delta 0), pack-reused 19147
Receiving objects: 100% (19147/19147), 22.23 MiB | 450.00 KiB/s, done.
Resolving deltas: 100% (15556/15556), done.
Checking connectivity... done.
Submodule path 'euca2ools': checked out '12c358cd27ff652cb144de124bb5472a74145277'

我的GIT版本:

$ git --version
git version 2.1.0
3个回答

2

不,即使在今天发布的最新版本Git 2.5中也没有这个功能。

这只能让你使用别名(或git别名)的解决方法,以便用一个命令替换 git clone --recursive (类似于“设置git命令默认标志”)。


真遗憾。不过还是非常感谢您的确认。顺便说一下,作为--recurse-submodules的替代方案,应该使用--recursive而不是--recurse。 - mastier
@mas tes,我已经修复了拼写错误。 - VonC

1

对我来说不起作用 git版本2.34.1 https://git-scm.com/docs/fetch-options/2.33.0确实可以获取,但无法克隆 首先您需要克隆存储库,运行子模块更新--init 然后git fetch也会获取子模块。 - mastier

0

这是可能的。git clone 带有 --config 标志,可以使用一些给定的配置参数初始化存储库。您应该能够执行 git clone --config fetch.recurseSubmodules [my-repo]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接