在git存储库r中,我有一个子模块,它是用以下命令初始化的:

git submodule add git@mygitserver...

现在一个用户使用https克隆了r,并在运行时得到一个错误
git submodule init
git submodule update

因为他没有ssh(服务器上传了公钥)访问权限。
所以我的问题是,是否可以创建一个子模块,该子模块将自动使用与在git submodule update命令上克隆父存储库所用的协议相同的协议?

最佳答案

该用户可以设置配置:

git config --global url.https://mygitserver/.insteadOf ssh://git@mygitserver/
# or possibly (to be tested)
git config --global url.https://mygitserver/.insteadOf git@mygitserver/

这样,https url将始终用于mygitserver(主repo或子模块),而不是ssh。

09-04 02:32