如何对 git 子模块使用相同的协议?

Man*_*lva 6 git git-submodules

在 git 存储库 RI 中有一个我使用以下命令初始化的子模块:

git submodule add git@mygitserver...
Run Code Online (Sandbox Code Playgroud)

现在,用户刚刚使用克隆 Rhttps并在运行时出错

git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)

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

Von*_*onC 6

该用户可以设置配置:

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

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